System for scheduling classes and managing eductional resources

ABSTRACT

A method is provided for automatically producing a schedule of classes for an educational institution having a plurality of teachers, a plurality of students, and a curriculum. The method preferably includes receiving designations of a plurality of curriculum modules of the curriculum, each curriculum module including educational material, one or more of the curriculum modules being prerequisite modules for one or more subsequent modules. The method also preferably includes receiving, as an input into a computer system, curriculum information comprising an indication of which of the modules are prerequisite modules for subsequent modules. An input into the computer system includes student information comprising, for one or more of the plurality of students, an indication of his level of competence with respect to the educational material of one or more modules. The computer system preferably produces a schedule of classes for teaching the educational material of at least some of the modules responsive to the curriculum information and the student information. Educational material to be taught in each of the scheduled classes includes the educational material of a respective one of the curriculum modules. The students assigned to each of the scheduled classes have preferably attained at, least a predetermined level of competence with respect to the educational material of the respective modules that are prerequisite modules for the module to be taught in the class.

CROSS REFERENCES TO RELATED APPLICATIONS

[0001] This application claims priority of provisional application No.60/331,241 filed on Nov. 13, 2001. In addition, this application is aCIP (continuation in part) of a US patent application entitled “Systemfor Scheduling Classes and Managing Educational Resources”, to Snyder etal., filed on Oct. 12, 2002 as the US national phase application of PCTpatent application Serial Number PCT/IL01/00376 filed on Apr. 23, 2001,which in turn claims priority from U.S. provisional patent applicationSerial No. 60/199,309 filed on Apr. 24, 2000.

FIELD OF THE INVENTION

[0002] The present invention relates in general to the field ofeducational scheduling software. In particular, it preferably comprisesa novel system for flexibly and dynamically allocating students toclasses and for producing teaching and class schedules. In a preferredembodiment, the present invention enables educational institutions to beadministered more efficiently, and has far-reaching effects in improvingthe quality of the teaching and learning that take place in educationalinstitutions.

BACKGROUND OF THE INVENTION

[0003] It has long been recognized that the structure of traditionaleducational institutions is not conducive to optimizing the quality ofthe teaching and the learning that take place in them. This isparticularly true of elementary, junior and senior high school education(grades K-12), both public and private, but is also true even withregard to higher education, vocational schools, home schooling, and jobtraining within corporations.

[0004] One of the main reasons for this is that in traditionaleducational institutions, students having multiple skill and knowledgelevels are grouped together in classes, and are taught large amounts ofcurricular material over large stretches of time (a semester, quarter oreven a complete school year). In this structure, students advance fromone level to another within the educational institution withoutmastering sufficient amounts of the curriculum. Their advancement isbased upon a “passing grade,” which is an average grade across a fairlylarge number of individual topics and which often is a fairly low grade,such as a C, that does not indicate any real mastery of the curriculumbeing taught. Moreover, students can have below C grades in severalindividual topics, and still end up with an average passing grade. As aresult, most students over time develop serious gaps in mastery of theknowledge base that the curriculum represents.

[0005] In traditional educational institutions, many of the studentsgrouped together in the same class are often unprepared to learn thetopic at hand, because of the large number of gaps they have accumulatedin their knowledge repertoire. This is a major problem for teachers, whoare compelled to teach to multiple levels of students at the same time.To handle this, teachers sometimes try to subdivide their classroom intosmaller groups, but this is generally an inadequate solution, since itmeans the teacher cannot focus on the entire class at once. In anyevent, even subdividing into groups will not necessarily put all thestudents within a group at the same skill or knowledge mastery level.The large size of the classes (often 30 students or more) is anotherreason why the teaching and learning in most traditional educationalinstitutions is far from optimum. There are different estimates as towhat the ideal class size is, both for the teacher and the students, butfew would deny that an average class size of 15 is better than 30. Yet,within the current structure of most educational institutions, the onlyway to reduce the average class size is to hire more teachers, or toallow fewer students into the school, neither of which is typically arealistic option for budgetary or political reasons.

[0006] An additional reason why teaching and learning in mosttraditional educational institutions is far from optimum is that thecurriculum units are too large. It is generally recognized that someparts of the curriculum are more important than others, and should begiven greater emphasis and reviewed more often. However, in traditionaleducational institutions, almost all curriculum units are spread overequally large blocks of time, sometimes whole semesters or quarters, andteachers often have little flexibility to focus on and emphasize thecore skills and units of knowledge. They are forced to go on to newmaterial in order to fill in the term adequately. Moreover, because ofthe relatively rigid structure of the school curriculum, once a topichas been taught, it is more often than not seldom taken up again,preventing substantive review and a deepening of the students' knowledgeof the core subjects and skills.

[0007] Another flaw in the structure of traditional educationalinstitutions is the way in which both teachers and students are assignedto their classes. The assignment is generally done based upon subject,grade or year level, with limited regard to factors that may affect manyof the students' ability to learn (such as prior successful orunsuccessful experience with a particular teacher) or the teachers'readiness to teach (such as a strong interest or lack of interest inteaching a particular subject or topic). It is well known that rapportbetween teachers and students is an important factor in the quality ofeducation, and that certain students do better with certain teachersrather than others. It is also well known that teachers do a better jobwhen they teach topics they prefer to teach. Yet, traditionaleducational institutions do not take these factors sufficiently intoaccount when assigning students and teachers to classes. Mosteducational institutions do not maintain any records correlating studentsuccess with particular teachers, and even were they able to maintainsuch records, existing scheduling software, the rigid curriculumstructure, and the large sizes of the classes make it difficult to usesuch information effectively for the benefit of the students and theteachers.

[0008] Because of their rigid structure, most traditional educationalinstitutions do not allow for the possibility of students proceedingindividually through the typical semester-long curriculum, e.g., atsubstantially varying rates. In high schools, for example, students arecompelled to generally cover all the material designated as the minimumcurricular content for each grade level. This may work reasonably wellfor the “average” student in a particular subject, but affords littleroom for accommodation both for the more intelligent and/or moremotivated students on the one hand, and the slower and/or less motivatedstudents on the other hand. All students, regardless of ability andmotivation, are generally grouped together in classes of varying sizes,and are required to cover large quantities of curricular material at thesame time and at the same pace. Although some schools group studentsinto “tracks” (“more advanced” or “less advanced”) for placement inclasses, these groupings are generally fairly crude, and generally alsocomprise students having different skill and knowledge levels. As aconsequence, the better students are often not able to reach their fulllearning potential, and the slower students are not accorded the specialattention that they need.

[0009] The structure of traditional educational institutions has alsocontributed to the unhealthy phenomenon of “social promotions,”especially in elementary and secondary schools, whereby students whohave not mastered even the core curriculum of one grade level areallowed to “pass” and move on to the next higher grade level. Thispractice merely deepens the difficulties facing teachers who arecompelled to teach large numbers of students grouped together in theirclasses having multiple skill and knowledge levels, and who are notcapable of learning the same material at the same pace.

[0010] Social promotions occur even in educational institutions such ascolleges, graduate schools, trade schools, university extension programsand job training classes, where grade levels per se are not used.Nevertheless, some general type of representation of a student's placeor level in these schools or programs is often used, e.g., in a collegethe student may be described as a freshman, sophomore, junior or senior;in a medical or law school the student may be a 1st, 2nd, 3rd, or 4thyear student; and in a certification program for professional training,the student's level may be described by how advanced a certificate he istrying to achieve and where he is in the program. The social promotionsthat occur in these institutions may not be as egregious as those inelementary or high schools, but are nevertheless quiteprevalent—students continue to move upwards through the course of studywith many specific gaps in their knowledge base. This occurs not onlybecause students advance based upon an overall passing grade, but alsobecause they may miss classes due to illness or other necessities oflife, they may have poor rapport with a particular teacher, or they mayfail to master material for a variety of other reasons. “Getting by”often becomes the norm, and even students who excel in general may notmaster key components of a specific course. (In general herein, the term“grade level” is intended to encompass any type of “educational level”such as described above.)

[0011] Various solutions have been proposed to rectify the numerousdefects in the structure of traditional educational institutions. Chiefamong these has been to abandon or partially replace the traditionalschool/classroom structure in favor of individual instruction, madepossible by the advent of the personal computer and the possibility of“computer assisted instruction.” A vast industry has developed in recentyears providing individualized computer-based courses of instruction inmany different subjects, such as mathematics, foreign languages and thelike. However, not all curricular subjects lend themselves well to thistype of instructional format. In addition, individualized,computer-based instruction cannot provide important elements of theeducational process which are provided by the traditional structure ofeducational institutions, not the least of which are the personal impactand role modeling of a really good teacher, and the socializing impactof the school room and the school campus. Moreover, for political,social and economic reasons, it is simply not possible to completelyabandon the traditional educational structure based upon group learningin a classroom in favor of an educational process that is based totallyon individual learning and computer-assisted instruction.

[0012] More recently, online “virtual classroom” education has becomeavailable, which utilizes email lists, high-speed video links andvarious interactive tools (such as having a class “vote” on a particularissue through a computer, or permitting a teacher to present and drawdirectly onto an electronic slide-show presentation). However, onlineclasses are typically dependent upon access to computers with Internetconnections (which sometimes must also be high-speed Internetconnections) for each student. They are therefore relatively expensive,and require substantial infrastructure. For this reason, they aregenerally not available to populations in the third world and are stillnot universally available even in more developed countries. Onlineclasses have other disadvantages, such as less direct personal contactwith teachers, and, generally speaking, more limited socializationexperiences with fellow students. Human person-to-person feedback is anessential part of the educational process, and even high-end onlineclasses (which involve high-speed video links) cannot fully provide suchfeedback. Online education may try to emphasize human interactionthrough chat rooms and similar technologies, but cannot fully replacethe pedagogical benefits of direct human contact.

[0013] Consortiums such as the IMS Project, or the InstructionalManagement Systems Learning Consortium, (www.imsproject.com) have beencreated for promoting common standards for distributing online learningactivities, tracking learner progress, reporting learner performance,and exchanging student records between administrative systems. Thelearning management systems IMS supports are able to keep track ofstudent education plans, schedule courses (including instructors andresources), enroll people in courses, record course results, and updatestudent academic progress. Similarly, companies such as Saba(www.saba.com) and SmartForce (www.smartforce.com) offer products suchas Saba's Learning Enterprise product and SmartForce's e-Learningplatform, which are learning management systems that dynamically trackand administer students' progress. These systems are focused mostheavily on online learning and therefore have the limitations describedabove (e.g., high speed video online technology is generally limited tomarketing to corporations because of its expense). Some of theselearning management systems also promote instructor-based learning andmentoring. Other Web sites describing services for computer educationand computer-facilitated education are www.blackboard.com,www.click2learn.com, www.intelliprep.com, and www.skillscape.com.

[0014] Various school administration software programs are commerciallyavailable, such as those marketed by SchedulExpert, Inc. (Ithaca, N.Y.),Rediker Software, Inc. (Hampden, Mass.), and Pentamation Enterprises,Inc. (Bethlehem, Pa.). According to the information displayed on thewebsites of these companies (www.schedulexpert.com; www.rediker.com; andwww.pentamation.com), all of these programs, in one fonm or another,enable school administrators and teachers to maintain a computerizeddatabase of students, keep daily attendance records and records ofgrades, and produce report cards and various other reports. They alsodescribe various scheduling tools.

[0015] ScheduleExpert is described as providing a tool for automatedcourse scheduling in post-secondary educational institutions, being ableto assign a course to a specific room, to one set of rooms, only torooms that have particular features or attributes, or to rooms within aspecific building or within a specified walking distance of the course'sideal location. ScheduleExpert is further described as being able toidentify the schedule that best satisfies user-specified relativeimportance of six performance criteria, including avoiding conflicts ofclasses, ideal number of teaching days for faculty, preferred classtimes for faculty, faculty desire for consecutive classes, andminimizing distance from an ideal building.

[0016] Pentamation is described as an interactive software packagedesigned to automatically schedule courses into class periods whileassigning them to teachers and rooms based upon possible meeting codesand suitable allocation of resources.

[0017] Rediker is described as producing a schedule of classes either inan automatic mode or an interactive mode. The school administratorenters the courses taught in the school, the courses each student musttake, the number of sections (up to three) any one course will have,optionally assigns a teacher to each section and optionally indicatesany periods in which each section should not meet. In automatic mode,the program will tell the administrator when each section should meet sothat there will be the fewest number of conflicts. In interactive mode,the program informs the administrator which periods would be best for agiven course or section and when the teacher is available, theadministrator selects the period, and then the program and theadministrator proceed to select the other courses in turn.

[0018] Eagle Rock School and Professional Development Center in EstesPark, Colo. carries out several educational practices that exemplify atrend seen in a small number of schools across the country. As describedby Lois E. Easton (“If Standards Are Absolute . . .”, Education Week,Apr. 12, 2000, pages 50, 52-53), these include the advancement ofstudents based on competencies and not on grade level; varied studentpathways through individualized learning plans; the possibility of a“class” taking place not only in the classroom, but at other sites suchas a pharmacy or a fish pier; students traveling all over the world viathe World Wide Web to get the information they need; different styles oflearning for different students; and varying assessment techniques.

[0019] The book “Designs for Science Literary” by Project 2061 of theAmerican Association for the Advancement of Science (F. JamesRutherford, Director Emeritus, Project 2061), published by OxfordUniversity Press, which is incorporated herein by reference, describessystems for flexible curricula assembly.

[0020] Kumon Math and Reading Centers are described on the World WideWeb (www.kumon.com) as providing a method of learning which includesindividualized instruction in which a student advances according toindividual ability rather than age or grade level, a curriculum in mathand reading which presents concepts in small increments, and developmentof mastery of skills through repeated practice.

[0021] In an article entitled “New Features for Learning ManagementSystem,” (ALN Magazine, Volume 3, Issue 2, December, 1999, www.aln.org),which is incorporated herein by reference, Bruce A. McHenry discussesspontaneous group formation of students and teachers to help them inonline learning environments. McHenry writes: “Students' paths throughthe content, determined by their questions and satisfaction with theanswers, will serve to identify cohorts of like minded students and theteachers that help them. These patterns of association will be alsobecome factors for the Q&A finding function previously based on distance(feature 1) and semantics (feature 2). Perhaps more importantly, theassociations will help to identify groups of individuals who can movethrough the material at about the same pace. On-line study sessionscould then be scheduled in order to foster live group discussion andprivate conversations among these individuals.”

[0022] U.S. Pat. No. 5,864,869 to Doak et al., describes a computerizedmethod for use by teachers, for creating, editing and maintaininggeneric and subject-specific lesson plans, grade sheets and otherinformation and reports. Teachers input in advance of the school term,which is up to a year in length, the total number of pages of text to becovered during the term in each subject they will be teaching. Thesoftware accesses pertinent information about the school calendar, andallocates the number of pages or percentages of the teaching tasks foreach day. At the end of each week, the teachers input the number of textpages completed or the percentage of the tasks that were completed, andthe computer prints out the next week's lesson plans, after reallocatingthe remaining pages of texts or tasks to fit the time remaining in theterm for completion of the tasks.

[0023] U.S. Pat. No. 5,904,485 to Siefert, describes a system forcomputer-assisted instruction of a school's curriculum to individualstudents, enabling the students to learn the material at home. Alearning profile is established and maintained for each student, whichindicates the student's capabilities, preferred learning style, andstanding. Based upon the profile, the software selects appropriatematerial for presentation to the student during each learning session.The program assesses whether the student has mastered the material. Ifhe has not mastered the material, it is presented to him in a differentway. If repeated different presentations of the material fail to instillmastery, a video conference is established between the student and ateacher.

[0024] Each of these patents is incorporated herein by reference.

SUMMARY OF THE INVENTION

[0025] It is a goal of some aspects of the present invention to solvemany of the problems inherent in the structure of traditionaleducational institutions. Another goal of some aspects of the presentinvention is to enable traditional educational institutions to functionbetter, optimizing both the teaching experience for the teachers and thelearning environment for the students. Embodiments of the presentinvention achieve these goals by making it possible for traditionaleducational institutions to utilize all the resources at their disposalin an efficient manner, while eliminating many of the defects inherentin the rigid structure of these institutions.

[0026] In some preferred embodiments of the present invention, thesegoals are achieved by combining a sophisticated computer program formanaging the various resources available in an educational institutionwith a modularized structuring of the curriculum taught in theeducational institution. In accordance with these embodiments, thecurriculum of the educational institution is defined on the basis of arelatively large number of discrete, typically small units ofinstruction or “modules,” with the various modules inter-related onewith another in a complex structure of dependencies. These dependenciesmay be limited to individual curricular subjects, but may also crosssubject areas and thus be multidisciplinary in scope.

[0027] In an educational institution that utilizes a modular curriculumin accordance with a preferred embodiment of the present invention,students advance individually through the curriculum by attaining ademonstrated degree of competency in the subject matter of individualmodules (or groups of modules), and not by the “completion” of entiresubjects, grades, semesters, or calendar years. Since the curriculum ispreferably based upon a relatively large number of modules which definea complex structure of dependencies, students advance through thecurriculum along many different and discrete routes, each advanceconditional upon attaining competency in the modules that areprerequisites of a subsequent module. And, although each studentadvances through the curriculum individually, the teaching of most ofthe curricular modules is group-based, in classes comprising only thosestudents who are eligible to take the class, based upon their competencyin the modules, which are prerequisites for the module being taught inthat class.

[0028] The combination of a modularized curriculum and a sophisticatedresource management program makes it possible to devise teachingschedules and schedules of classes that optimize various parameterswhich directly or indirectly affect the quality of the teaching andlearning that takes place in the educational institution. Preferredembodiments of the present invention adapt software algorithms that areknown in the art to optimize these parameters, within the constraint ofgenerally only placing students in classes for which they have attainedsubstantial competence in the subject matter of the modules which areprerequisites for the modules being taught in the classes, as describedmore fully herein below. By way of illustration and not limitation,typical parameters to be optimized may include: (a) class size; (b)expressed teacher preferences to teach particular curricular modules;(c) expressed student preferences for a particular module or aparticular subject or a particular teacher; (d) data indicating thesuccess of a particular teacher with respect to a particular student ora particular module; (e) geographical distance that must be traversed bystudents and teacher between successive classes; and (f) preferentialscheduling of modules whose subject matter comprises the “core” of thecurriculum.

[0029] Although a person skilled in the art will appreciate that thereare many ways for generating a generally optimized schedule based on aset of constraints and a set of variables to be optimized, a simpleembodiment of the present invention provides for a score to be given toeach of these parameters, and for optimizing software to search througha large number of possible schedules for the entire school, in order todetermine a set of class schedules which generate a maximum score.

[0030] According to a preferred implementation, the present inventionwill accomplish one or more of the following:

[0031] (1) It will improve the teaching and learning environment in theclasses, by assuring that students of generally equivalent skill andknowledge levels are grouped together in the same class.

[0032] (2) It will enable teachers to emphasize core skills andknowledge, and to deepen the students' knowledge of these core areas asthey progress through the various curricular levels, by providinggreater review and more exposure to these core modules.

[0033] (3) It will result in a reduction of average class size.

[0034] (4) It will ensure that students master at least the mostimportant, core parts of the curriculum, while minimizing gaps in theirknowledge base.

[0035] (5) It will give teachers and/or students significant flexibilityin choosing the subjects and/or topics they are interested in teachingand learning.

[0036] (6) It will make it possible for students to be assigned toclasses with teachers or student-tutors with whom they have done well inthe past, thereby increasing the likelihood of their obtaining maximumbenefits from the classes.

[0037] (7) It will make it possible to utilize efficiently the skills ofstudents as mentors and tutors of other students.

[0038] (8) It will allow students to proceed at their own pace.

[0039] (9) It will facilitate the integration of special educationstudents within the traditional school structure and facilitate thetraining of teachers of special education students.

[0040] (10) It will end “social promotions.”

[0041] (11) It will enable both the school and the students to copebetter with absences due to ill health or other disruptions in thestudents' lives.

[0042] (12) It will limit the damage caused by less competent teachers,and maximize the exposure of students to teachers who perform well inparticular modules, thereby increasing the overall average effectivenessof the teaching staff of the institution.

[0043] (13) It will facilitate the integration of non-native speakingstudents within the traditional school structure.

[0044] (14) It will make possible the extensive retraining of lesscompetent teachers by more competent teachers as part of each teacher'sschedule.

[0045] (15) It will make possible the customization of teaching, so thatstudents will more often be able to be exposed to teaching inappropriate styles.

[0046] (16) It will make possible efficient sharing and massimplementation of proven pedagogical approaches through the use ofcurriculum and scheduling “templates.”

[0047] (17) It will reduce overcrowding in educational institutionsglobally by making better use of all available educational resources.

[0048] (18) It will make possible the mass implementation of a smalllearning community model, whereby a large educational institution isbroken down into many small mini-academies, and the curricular content,curricular emphases, scheduling priorities, tutoring approaches, and theamount and type of teacher and student choice for each academy areinputs to scheduling software.

[0049] (19) It will allow some students, e.g., students withdisabilities, to be assigned personal scheduling priorities which arehigher than the personal scheduling priorities of other students, so asto help these students advance academically by being preferentiallyplaced in classes which are most suitable for them.

[0050] There is therefore provided, in accordance with a preferredembodiment of the present invention, a method for automaticallyproducing a schedule of classes for an educational institution having aplurality of teachers, a plurality of students, and a curriculum, themethod including:

[0051] receiving designations of a plurality of curriculum modules ofthe curriculum, each curriculum module including educational material,one or more of the curriculum modules being prerequisite modules for oneor more subsequent modules;

[0052] receiving, as an input into a computer system, curriculuminformation including an indication of which of the modules areprerequisite modules for subsequent modules;

[0053] receiving, as an input into the computer system, studentinformation including, for two or more of the plurality of students,indications of their levels of competence with respect to theeducational material of one or more modules; and

[0054] producing by the computer system a schedule of classes forteaching the educational material of at least some of the modulesresponsive to the curriculum information and the student information,wherein educational material to be taught in each of the scheduledclasses includes the educational material of a respective one of thecurriculum modules, and wherein the students assigned to each of thescheduled classes have attained at least a predetermined level ofcompetence with respect to the educational material of the respectivemodules that are prerequisite modules for the module to be taught in theclass.

[0055] Preferably, receiving the student information includes receivingan indication of prior success one or more of the students has had withone or more of the teachers.

[0056] For some applications, receiving the curriculum informationincludes receiving, for at least some of the curriculum modules, an ageby which a student is expected to have achieved competency in themodule. Alternatively or additionally, receiving the curriculuminformation includes receiving, for at least some of the curriculummodules, a link to one or more lesson plans for teaching the module.Further alternatively or additionally, receiving the curriculuminformation includes receiving, for at least some of the curriculummodules, one or more formats in which the module may be taught.

[0057] In a preferred embodiment, receiving the student informationincludes receiving, for at least one of the students, an indication ofone or more languages understood by the student, and wherein producingthe schedule includes producing the schedule responsive to the one ormore languages.

[0058] In a preferred embodiment, producing the schedule includes:

[0059] determining that one of the students has attained at least afirst level of mastery of a first one of the prerequisite modules;

[0060] determining that the one of the students has attained at least asecond level of mastery of a second one of the prerequisite modules, thesecond level being different from the first level; and

[0061] scheduling the one of the students to take a class responsive tothe one of the students having attained the first and second levels ofmastery in the first and second prerequisite modules, respectively.

[0062] Alternatively or additionally, producing the schedule includesdesignating a time period for assessing a level of mastery of one ormore of the students in the educational material of a given module.

[0063] For some applications, producing the schedule includes receivingan input indicative of a desired percentage of students to be involvedin tutoring sessions.

[0064] Typically, receiving the designations of the plurality ofcurriculum modules includes receiving, for at least some of the modules,an indication of the relative importance of the module to thecurriculum, and wherein producing the schedule includes producing theschedule responsive to the indication of importance.

[0065] If appropriate, producing the schedule of classes includesdetermining when a student has failed to attain a desired level ofmastery of a module and subsequently assigning the student to study theeducational material in the module in a class configured to facilitatethe student to attain the desired level of mastery.

[0066] Preferably, the method includes receiving, as an input into thecomputer system, teacher information including, for at least some of theplurality of teachers, an indication of a suitability of the teacher toteach one or more of the modules, wherein producing the schedule ofclasses includes producing the schedule of classes responsive to theteacher information. For example, receiving the teacher information mayinclude receiving, for at least some of the plurality of teachers, anindication of a preference of the teacher to teach one or more of themodules. Alternatively or additionally, receiving the teacherinformation includes receiving, for at least some of the plurality ofteachers, an indication of prior success the teacher has had in teachingone or more of the modules.

[0067] In a preferred embodiment, receiving the student informationincludes receiving, for at least one of the students, an indication of alearning disability of the student, and wherein producing the scheduleincludes producing the schedule responsive to the learning disability.In this case, receiving the teacher information preferably includesreceiving an indication of one or more of the teachers who havespecialized training to teach students with the learning disability, andwherein producing the schedule includes preferentially assigning the oneor more of the teachers with the specialized training to teach a studentwith the learning disability.

[0068] In a preferred embodiment, producing the schedule includesdetermining an average of respective levels of mastery, achieved by atleast one of the students assigned to the class, in the prerequisitemodules for the module to be taught in the class. For example,determining the average may include determining a weighted average.

[0069] For some applications, producing the schedule includesdesignating at least one of the classes to have a single instructor anda single student. For example, designating may include designating oneof the students to be the single instructor responsive to the studentinformation received about the designated student. Alternatively oradditionally, designating the one of the students to be the singleinstructor includes designating the one of the students responsive to alevel of mastery of the designated student in a module to be taught bythe designated student.

[0070] There is further provided, in accordance with a preferredembodiment of the present invention, a computer program product forautomatically producing a schedule of classes for an educationalinstitution having a plurality of teachers, a plurality of students, anda curriculum, the product including a computer-readable medium havingprogram instructions embodied therein, which instructions, when read bya computer, cause the computer to:

[0071] receive designations of a plurality of curriculum modules of thecurriculum, each curriculum module including educational material, oneor more of the curriculum modules being prerequisite modules for one ormore subsequent modules;

[0072] receive curriculum information including an indication of whichof the modules are prerequisite modules for subsequent modules;

[0073] receive student information including, for one or more of theplurality of students, an indication of his level of competence withrespect to the educational material of one or more modules; and

[0074] produce a schedule of classes for teaching the educationalmaterial of at least some of the modules responsive to the curriculuminformation and the student information, wherein educational material tobe taught in each of the scheduled classes includes the educationalmaterial of a respective one of the curriculum modules, and wherein thestudents assigned to each of the scheduled classes have attained atleast a predetermined level of competence with respect to theeducational material of the respective modules that are prerequisitemodules for the module to be taught in the class.

[0075] There is still further provided, in accordance with a preferredembodiment of the present invention, apparatus for automaticallyscheduling classes for an educational institution having a plurality ofteachers, a plurality of students, and a curriculum, the apparatusincluding:

[0076] a data port (13), adapted to receive designations of a pluralityof curriculum modules of the curriculum, each curriculum moduleincluding educational material, to receive curriculum information,including designations of some of the curriculum modules as prerequisitemodules and of some of the curriculum modules as subsequent modules, toreceive, for at least one of the subsequent modules, a designation thatone or more of the prerequisite modules are associated with the at leastone subsequent module, such that participation by one of the students inthe at least one subsequent module is dependent on the student havingcompleted at least one of the one or more prerequisite modulesassociated with the at least one subsequent module, and to receivestudent information, including completion indicators for eachprerequisite module, which completion indicators are indicative ofstudents who have completed the prerequisite module; and

[0077] a processor (12), adapted to receive the designations of thecurriculum modules, to receive the curriculum information, to receivethe designation for each subsequent module of the one or moreprerequisite modules associated with the subsequent module, to receivethe student information, and to automatically produce a schedule ofclasses for teaching at least some of the modules, such that each classincludes at least one teacher and at least one student.

[0078] There is also provided, in accordance with a preferred embodimentof the present invention, a method for automatically producing aschedule of classes for an educational institution having a plurality ofteachers, a plurality of students, and a curriculum, the methodincluding:

[0079] receiving, as an input into a computer system, designations of aplurality of curriculum modules of the curriculum, each curriculummodule including educational material;

[0080] receiving, as an input into the computer system, studentinformation including for a first student, a second student, a thirdstudent, and a fourth student selected from the plurality of students,respective indications of their levels of competence with respect to theeducational material of one or more modules;

[0081] scheduling a class to teach one of the modules, taught by one ofthe teachers, for the first student and the second student, responsiveto the indications of the levels of competence of the first and secondstudents; and

[0082] scheduling a tutoring session to teach the one of the modules, inwhich the third student is designated to tutor the fourth student,responsive to the indications of the levels of competence of the thirdand fourth students.

[0083] In a preferred embodiment, receiving the student informationincludes receiving assessment data, with respect to the plurality ofstudents, indicative of respective levels of competence of the pluralityof students in the educational material of some of the modules,scheduling the class includes scheduling a plurality of classes to teachtwo or more of the modules of the curriculum responsive to theassessment data, and scheduling the tutoring session includes schedulinga plurality of tutoring sessions responsive to the assessment data.

[0084] There is additionally provided, in accordance with a preferredembodiment of the present invention, a method for automaticallyproducing a schedule of classes for an educational institution having aplurality of teachers, a plurality of students, and a curriculum, themethod including:

[0085] receiving, as an input into a computer system, designations of aplurality of curriculum modules of the curriculum, each curriculummodule including educational material;

[0086] receiving, as an input into the computer system, studentinformation including, for one or more of the plurality of students, anindication of his level of competence with respect to the educationalmaterial of one or more modules;

[0087] generating a first schedule of classes for the plurality ofstudents, responsive to the student information, for teaching theeducational material of some of the modules;

[0088] receiving, prior to completion of all of the classes in the firstschedule, an assessment of levels of competence of some of the pluralityof students in the educational material of the some of the modules; and

[0089] generating a second schedule of classes for the plurality ofstudents, different from the first schedule, responsive to the receivedassessment.

[0090] There is yet additionally provided, in accordance with apreferred embodiment of the present invention, a method forautomatically producing a schedule of classes for an educationalinstitution having a plurality of teachers, a plurality of students, anda curriculum, the method including:

[0091] receiving, as an input into a computer system, designations of aplurality of curriculum modules of the curriculum, each curriculummodule including educational material;

[0092] receiving, as an input into the computer system, studentinformation including, for one or more of the plurality of students, anindication of his level of competence with respect to the educationalmaterial of one or more modules;

[0093] receiving, as an input to the computer system, optimizationparameters which are indicative of an educational focus of theeducational institution;

[0094] executing an optimization algorithm responsive to the studentinformation and the optimization parameters; and

[0095] generating a schedule of classes responsive to executing theoptimization algorithm.

[0096] In a preferred embodiment, receiving the optimization parametersincludes receiving indications for at least two of the modules of theirrespective relative levels of importance within the curriculum.

[0097] Alternatively or additionally, receiving the optimizationparameters includes receiving an indication of an amount of emphasis toplace on scheduling one or more student-to-student tutoring sessions.

[0098] Further alternatively or additionally, receiving the optimizationparameters includes receiving an indication of an amount of emphasis toplace, when generating the schedule, on assessments of prior success ofsome of the students with some of the teachers.

[0099] Still further alternatively or additionally, receiving theoptimization parameters includes receiving an indication of an amount ofemphasis to place, when generating the schedule, on scheduling a studentwith a learning disability into a class with students without learningdisabilities.

[0100] In a preferred embodiment, receiving the optimization parametersincludes receiving an indication of an amount of emphasis to place, whengenerating the schedule, on scheduling a student having a first languageas his primary language into a class with students having as theirprimary language a second language, different from the first language.

[0101] In a preferred embodiment, receiving the student informationincludes receiving an indication of a suitability of at least one of thestudents to be tutored. Alternatively or additionally, receiving thestudent information includes receiving an indication of a level ofsuccess that one of the students has had with one of the teachers.

[0102] For some applications, the method includes generating anelectronic template including the optimization parameters, for transferto another educational institution, to facilitate scheduling of classesat the other educational institution.

[0103] If appropriate, generating the schedule of classes includesdesignating one of the teachers to teach at least one of the classes,and assigning another one of the teachers to attend the at least one ofthe classes.

[0104] There is also provided, in accordance with a preferred embodimentof the present invention, a method for automatically producing aschedule of classes for an educational institution having a plurality ofteachers, a plurality of students, and a curriculum, the methodincluding:

[0105] receiving, as an input into a computer system, studentinformation including respective personal scheduling priorities for eachof the students; and

[0106] generating a schedule of classes based on preferential treatmentof some of the students responsive to their personal schedulingpriorities.

BRIEF DESCRIPTION OF THE DRAWINGS

[0107] The present invention will be better understood and appreciatedon the basis of the following detailed description in conjunction withthe accompanying drawings in which:

[0108] FIG. 1 is a simplified graphical representation of apparatus forimplementation of a preferred embodiment of the present invention;

[0109] FIG. 2 is a simplified graphical representation of the dependencystructure of curricular modules, in accordance with a preferredembodiment of the present invention;

[0110] FIG. 3 is a simplified flow-chart showing one set of proceduresfor selecting and assigning students and teachers into classes, inaccordance with a preferred embodiment of the present invention;

[0111] FIG. 4 is a simplified flow-chart showing another set ofprocedures for selecting and assigning students and teachers intoclasses, in accordance with a preferred embodiment of the presentinvention;

[0112] FIG. 5 is a simplified flow-chart of a set of procedures foroptimizing the assignment of students and teachers to classes, inaccordance with a preferred embodiment of the invention;

[0113] FIG. 6 is a simplified flow-chart of an additional set ofprocedures for optimizing the assignment of students and teachers toclasses, in accordance with a preferred embodiment of the invention; and

[0114] FIG. 7 is a simplified flow-chart of an additional set ofprocedures for optimizing the assignment of students and teachers toclasses, in accordance with a preferred embodiment of the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0115] Reference is now made to FIG. 1, which provides a simplifiedgraphical representation of apparatus for implementation of a preferredembodiment of the present invention. The apparatus of FIG. 1 comprises acomputer network 10, including a data processing server 12 and one ormore personal computers (PCs) or other computing devices 14. Server 12comprises a data port 13, and associated with server 12 is a datastorage device 16, which may be housed on server 12 or on a separatecomputer. Optionally associated with each of the one or more PCs 14 areone or more printers 18. All the components of network 10 may bephysically installed and located within a single educationalinstitution, and interconnected on a local area network (LAN). However,in a preferred embodiment of the invention, server 12 and data storagedevice 16 are not located within the educational institution itself, butat a distant location, while PCs 14 and printers 18 are located withinthe educational institution. Preferably, network 10 is Internet-based,with each of the network components interconnected via the Internet (oran Intranet network). It will be appreciated that when network 10 isInternet-based, PCs 14 and printers 18 may be located anywhere (such asat teachers' or students' homes), provided a connection to the Internetis available. Most preferably, access to server 12 is restricted, andthe data thereon is password protected, available only to authorizedindividuals (such as the staff and administrators of the educationalinstitution). When network 10 is Internet-based, user access ispreferably by means of a Web browser on each of PCs 14; however, anyother means of access via the Internet may be used. To ensure robustnessand enhance security (either as a back-up or a distributed storagesystem), server 12 itself may comprise two or more servers associatedwith each other, either connected directly by cable or via the Internetor any other networking apparatus. Data storage device 16 may also be anetwork of data storage devices, a number of separate data storagedevices, or any type of distributed database. Alternatively, in a simpleform, network 10 may comprise a single computer located within theeducational institution that combines the functions of server 12, datastorage device 16, and PC 14.

[0116] Computer network 10 is preferably utilized in conventional ways,in combination with software developed in accordance with principles ofthe present invention, so as to input, store and maintain on datastorage device 16 specific data pertaining to the curriculum, teachersand students of the educational institution (hereinafter collectively:“educational resource data”). In accordance with a preferred embodimentof the present invention, the software enables the administration of theeducational institution to utilize the inputted and stored educationalresource data so as to efficiently and effectively manage the day-to-dayadministration of the institution, including allocating students toclasses, and producing teaching schedules for the teachers and classschedules for the students.

[0117] In accordance with a preferred embodiment of the presentinvention, the curriculum of the educational institution is defined bymeans of a relatively large number of curriculum modules, each moduleencompassing a relatively small, discrete unit of curricular material.Typically, the modules range in duration from two hours to 30 hours ofinstruction time, but may also be of shorter or longer duration. Incertain subjects, such as the humanities and the social sciences,modules may be of longer average duration. It is noted that foreducational institutions in which schedules must be assembled asseamlessly as possible, module durations are typically but notnecessarily restricted to a relatively few number of durations, to makeit easier to fit the schedules together as neatly as possible. For otherapplications, such as on-site job training, where the modules are taughtas a small subset of a larger workday and therefore do not have to befit together as seamlessly, permissible module durations may generallybe more flexible. Similarly, online learning formats may permit moreflexible durations as well, for some applications. The curricularmodules are typically inter-related one with another in a complexstructure of dependencies. These dependencies may be limited toindividual curricular subjects, but may also cross subjects and bemultidisciplinary in scope.

[0118] Reference will now be made to FIG. 2, which provides a simplifiedgraphical representation of the dependency structure of samplecurricular modules, in accordance with a preferred embodiment of thepresent invention. It will be seen from FIG. 2 that the modules define acomplex hierarchical structure, in the form of an acyclic directedgraph, in which one or more of the “higher” modules are dependent on oneor more of the “lower” modules. The dependencies may be “direct” or“distant.” Thus, in FIG. 2—

[0119] Math Module M12 is directly dependent on Math Module M6;

[0120] Chemistry Module C6 is directly dependent on Chemistry ModulesC1, C2 and C3;

[0121] Physics Module P8 is directly dependent on Math Module M12 andChemistry Module C1;

[0122] Chemistry Module C20 is directly dependent both on Math ModuleM12 and on Chemistry Module C14, and it is also distantly dependent (atone level of distance) on Math Module M6 and on Chemistry Module C6; and

[0123] Biology Module B34 is directly dependent on Chemistry Module C20and it is distantly dependent both on Chemistry Module C14 and on MathModule M12 (as well as on the more distant modules on which these lattermodules depend).

[0124] In the above dependency structure, for example, the topic ofChemistry Module C20 may be “Balancing chemical equations,” and thismodule is dependent both on Math Module M12 (“Basic algebraic skills”)and on Chemistry Module C14 (“The periodic table”), since a student mustknow both basic algebra and the elements of the periodic table in orderto learn how to balance chemical equations.

[0125] It will be appreciated that FIG. 2 provides only a very partialrepresentation of the complex dependency structure of the curricularmodules of an educational institution, in accordance with a preferredembodiment of the present invention. Thus, for example, Math Module M6is directly and distantly dependent on one or more “lower” modules whichare not shown, and there are also modules “higher” than Physics ModuleP18 and Biology Module B34 which are not shown, but nevertheless dependdirectly and distantly on either or both of these and/or on othermodules not shown. In addition, certain modules (not shown in FIG. 2)may be directly dependent on two or more other modules in thealternative, rather than cumulatively; for example, a module whosesubject matter is “Introduction to Linguistics,” may depend either on amodule whose subject matter is “French Syntax” or on a module whosesubject matter is “Spanish Syntax.”

[0126] The number of curricular modules comprising the curriculum of aneducational institution will vary from institution to institution, andwill also vary over time within any given institution, as the teachersdevelop new curricular material or redefine the structure of thecurriculum. As an example, in a typical high school there are generallymore than 300 curricular modules comprising the curriculum of grades9-12. In a typical university, there would be a much greater number ofmodules (e.g., thousands), although students would only traverse througha small number of these during their university career. In someeducational institutions (such as high schools), additional modulescomprising remedial content may be included with the standard curricularmodules. In high schools, for example, these would include modulescovering topics typically studied in the lower grades, and in colleges,these would include modules typically studied in high schools.

[0127] The large number of curricular modules, in combination with thecomplex structure of interdependencies, make it possible for students toadvance through the curriculum of the educational institution in diverseways, with each student potentially defining his own individual pathwaythrough the curriculum. In the representation of curricular modules inFIG. 2, for example, students who have completed Math Module M12 havethree possible pathways open to them: (1) advancing to Math Module M26;(2) advancing to Physics Module P8; and (3) advancing to ChemistryModule C20 (the latter option is available only to those students whohave also completed Chemistry Module C14). Some students may advance toall three of these modules in parallel; others may do so in sequence;and still others may never advance to one or another of the modules,depending upon their individual programs of study.

[0128] In accordance with a preferred embodiment of the presentinvention, the students of an educational institution in which theprinciples of the present invention are implemented advance from onemodule to another only when they are eligible to do so. “Eligibility,”in this regard, is preferably defined by the administration and/orteachers of the educational institution by means of a two-tiered set ofrules which establish (a) which modules are “prerequisites” for othermodules, and (b) what level of competency must be attained by thestudents in the subject matter of the prerequisite modules before theyare eligible to advance to the “higher” modules for which the lowermodules are prerequisites.

[0129] In general, a “prerequisite” of a module is every other module onwhich the module is directly dependent. However, an educationalinstitution may determine that one or more distant modules or levels ofmodules are also to be considered “prerequisites” for the modules thatdepend on them. This may be a general rule for all the modules taught inthe educational institution, or a more limited rule either for modulesof certain subjects only or for certain modules specifically identified.As an example, with reference to FIG. 2, Math Module M12 and ChemistryModule C14 is each a “prerequisite” of Chemistry Module C20. However, aneducational institution may decide that Math Module M6 and ChemistryModule C6 are also “prerequisites” of Chemistry Module C20.

[0130] Alternatively, the educational institution may establish a rulethat all modules that are one, two, or more dependency levels below agiven module are considered its prerequisites.

[0131] The educational institution also preferably determines the levelof competency that must be attained by students in the subject matter ofthe prerequisite modules. In general, this should be a relatively highlevel, as evidenced by the students obtaining at least a specificthreshold grade in an assessment of the subject matter of each of theprerequisite modules. However, the rules in this regard may be quiteflexible. Thus, the educational institution may determine differentthreshold grades with respect to different prerequisite modules, or itmay determine one threshold grade for all modules in one subject area,and a different threshold grade for all modules in other subject areas.For example, an educational institution that focuses on math and sciencemay set a higher threshold grade for all math and science modules and alower threshold grade for all modules in the humanities. In somecircumstances, the educational institution may establish a differentthreshold grade in certain modules for certain categories of students(such as learning disabled students). For example, in certaincircumstances, the educational institution may establish a differentthreshold grade (required assessment level to complete a module) incertain modules for certain classes of students or individual students.This could, for example, be a strategy for assuring that certaincategories of students graduate on time, if they are having problems ina particular subject (such as a learning disabled student whoseimpairment made a certain subject particularly difficult).Alternatively, students majoring in a particular topic may have a higherthreshold passing grade for a given module than students who are notmajoring in that topic. Preferably, therefore, the scheduling algorithmis operative to schedule students to retake a given module, ifappropriate, responsive to the particular passing threshold set for eachstudent in that module.

[0132] In a preferred embodiment of the present invention, a studentsatisfies the level of competency requirement for certain modules simplyby attending a class or activity. For example, some classes may have acommunity service component associated therewith, for which attendancealone is required.

[0133] The educational institution may also implement some type of“weighted average grade” across a set of prerequisite modules. In thiscase, certain modules are deemed more relevant and therefore accorded a“heavier” weight than other modules deemed less relevant, which areaccorded a “lighter” weight. A student would be deemed eligible for aclass in a “higher” module if his weighted average grade across all theprerequisite modules passes a predetermined threshold, even if he hasnot yet achieved the specific threshold grade which is required for oneor more of the individual prerequisite modules. Using such a rule, astudent could become eligible for a class in a “higher” module, butstill be required to complete the prerequisite modules in which he hasnot achieved the specific threshold grade required for those modules.

[0134] The assessment of the students' level of competency may be basedon any method that is pedagogically sound, including the results ofwritten or oral tests, “portfolios” of student work (either individuallybased or group based, or both), and the like. If assessments are groupbased (such as a group project), teachers may decide whether to giveeach student in the group the same assessment, or whether to includesome individualization of the assessment, e.g., by including aone-on-one interview component for the project assessment. In somecircumstances, for example upon the initial implementation of thepresent invention in an educational institution, some of the assessmentsmay not be based upon testing or project work, but upon the reasonedevaluation of a teacher who is familiar with the student and hisabilities. In the event that actual student assessment information islacking or is not available, for a particular module or in general,presumed or temporary assessments may be provided. Such assessmentspreferably would be coded as such, and provision made for obtainingactual assessments at a later date. Given that prior assessmentinformation is likely to be based upon entire semesters or quarters ofwork, all of the modules that comprise a course already taken may becoded at the same level of the course, as a temporary measure untilbetter assessments have been performed, or even permanently if themodules are deemed less central.

[0135] The information concerning the modules which comprise thecurriculum of the educational institution is preferably stored on datastorage device 16 in a format that makes it possible to quickly andreadily access the information. This may take the form of a databasetable, a suitably formatted file, a system of software objects, or anyother data format as is known in the art. The information that is storedtypically comprises one or more identifiers, which identify each of thecurricular modules and the module or modules on which each moduledirectly depends. Additional information may also be associated orlinked with the identifier of each module, such as the subject categoryof the module, the age by which a student is expected to have achievedcompetency in the module, a textual and/or graphical description of themodule, lesson plans for teaching the module, references to thetextbooks being used, including chapters and page numbers, specialequipment needed to teach the modules, and one or more formats in whichthe module may be taught, such as an on-line class, a traditionalclassroom class, etc.

[0136] In a similar fashion, data storage device 16 is preferablyutilized to store information concerning the students enrolled in theeducational institution. The student information that is storedtypically comprises one or more identifiers identifying each student,and, when known, his level of competency with respect to the subjectmatter of each of the modules. Additional information may be associatedor linked with the basic student information, such as biographical data,learning disabilities, primary and secondary languages spoken, medicalneeds, or other pertinent data.

[0137] Although each student preferably advances through the curriculumon an individual basis (as explained above), the teaching in theeducational institutions in which the present invention is implementedis typically group-based, as it is in traditional educationalinstitutions. However, the groups or classes of students are generallynot defined by the age of the students or by “grade” level, as iscommonly practiced in most schools, but rather by the curricular modulesand the level of competency of the students assigned to the classes. Ininstitutions utilizing principles of the present invention, the softwarepreferably is operative to select and group together in each of theclasses only those students who are in fact “eligible” for the classes,based upon the students' levels of competency in the modules which areprerequisite modules for the module being taught in the class. As aconsequence of this selection process, all or most of the students ineach class will have equivalent or nearly equivalent skill and knowledgelevels with respect to the topic being taught in the class, and thequality of the teaching and the learning in the classes will thereforebe greatly enhanced.

[0138] In accordance with a preferred embodiment of the presentinvention, data storage device 16 is also utilized to store informationconcerning the teaching staff of the educational institution. Theteacher information that is stored comprises one or more identifiersidentifying each teacher and his “level of readiness” to teach each ofthe modules. Preferably, “level of readiness” provides a weightedmeasure not only of the teacher's formal qualifications to teach thesubject matter of the module, but also of one or more additional factorsthat impact upon the quality of his teaching. Such factors may includethe degree of the teacher's interest in teaching the module (as comparedto other modules he is also formally qualified to teach), the success hehas had in the past teaching the module, and the like. In accordancewith a preferred embodiment, the software is operative to assignteachers to classes in the various modules based upon the teachers'levels of readiness, so that in general only teachers with a relativelyhigh level of readiness will be assigned to teach each of the classes.

[0139] Reference is now made to FIG. 3, which is a simplified flow-chartof basic procedures that may be utilized to assign students and teachersto classes, in accordance with one embodiment of the present invention.It will be appreciated that the method shown in FIG. 3 and described inthe text is just one of many ways to implement the invention asdisclosed herein.

[0140] Procedure 110: The program accesses the educational resource datastored on data storage device 16, including the curriculum information,the teacher information, and the student information.

[0141] Procedure 120: The program computes, for each student, the set ofmodules he is eligible to take, based upon (a) the set of curricularmodules he has already taken, and assessments he has received in thosemodules; (b) the dependency relationship of the modules; (c) the rulesconcerning which modules are prerequisites of other modules, and whatlevel of competency is needed for advancement to a higher module; and(d) the student's competency level in the subject matter of theprerequisite modules. Additional factors may impact upon the number ofmodules included in a student's set of eligible modules; for example, ifa student has elected not to take certain subjects which are offered aspart of the curriculum of the educational institution, the modulespertaining to these subjects will not be included in the student's listof eligible modules, even though he may in fact be eligible to takeclasses in these modules.

[0142] Procedure 130: The program computes, for each module, a roster ofthe students who are eligible to take a class in the module, based uponthe results of Procedure 120.

[0143] Procedure 140: The program sorts the rosters of students obtainedin accordance with Procedure 130 by one or more sort orders and ranksthem accordingly. The sort order may be based on size (the number ofstudents on each roster), the need to have a minimum number of studentsin each class (both now and in the rest of the school year), on therelative “weight” or importance of the modules within the overallcurriculum of the educational institution, on the weighted preferencesof the teachers or students to teach or study the modules, or anycombination of these, as determined by the educational institution.

[0144] Procedure 150: The program checks for the availability of ateacher to teach any of the modules ranked in accordance with Procedure140. If a teacher is available, the program proceeds to Procedure 160.If a teacher is not available, which typically may occur after manyiterations of these procedures as more fully explained below, theprogram proceeds to Procedure 230.

[0145] Procedure 160: The program identifies the highest ranked modulefor which a teacher is available and selects this module for schedulinga class.

[0146] Procedure 170: The program selects, from the roster of studentsof the module selected in accordance with Procedure 160, a predeterminednumber of students and assigns them to a class in the subject matter ofthe module. The number of students selected for the class will be basedupon a range of factors as determined by the administration of theeducational institution, such as classroom size, subject matter of themodule, and the like. Which students are selected from the eligiblestudents will also be based upon a range of factors, such as the age ofthe students, the presence of students requiring special attention, theweighted preferences of the students for the subject matter of themodule, and the like.

[0147] Procedure 180: The program assigns the available teacher to theclass. If multiple teachers are available to teach the class, theprogram chooses the teacher based on a range of factors, such as teacherpreference for teaching the modules, past performance of the availableteachers with the students in the class, and the like.

[0148] Procedure 190: The program marks the students assigned to theclass as not eligible to subsequently take the module, and eliminatesthem from the rosters calculated according to Procedure 130. Thesemodified rosters are used in subsequent iterations of Procedure 140.

[0149] Procedure 200: The program marks the teacher who has beenassigned to the class as not being available to teach.

[0150] Procedure 210: The program checks whether or not there are anystudents who have not yet been assigned to a class. If there are nostudents who have not been assigned to a class, the program proceeds toProcedure 220. If there are students who have not been assigned to aclass, the program proceeds to Procedure 140 and schedules another classif possible by repeating Procedures 140, 150, 160, 170, 180, 190 and200.

[0151] Procedure 220: After all students have been assigned to classes,the program assigns any residual teachers, if there are any, to one ormore non-classroom activities.

[0152] Procedure 230: If there are no teachers available for any of theranked modules, which typically will occur after repeated iterations ofthe above procedures, the program assigns any residual students/teachersto a non-classroom activity such as a study hall, a library session orthe like.

[0153] Reference is now made to FIG. 4, which is a simplified flow-chartof basic procedures that may be utilized to assign students and teachersto classes, in accordance with another embodiment of the presentinvention. It will be appreciated that the method shown in FIG. 4 anddescribed in the text is just one of many ways to implement theinvention as disclosed herein.

[0154] Procedure 310: The program accesses the educational resource datastored on data storage device 16, including the curriculum information,the teacher information, and the student information.

[0155] Procedure 320: The program computes, for each student, the set ofmodules he is eligible to take, based upon (a) the set of curricularmodules he has already taken, and assessments he has received in thesemodules; (b) the dependency relationship of the modules; (c) the rulesconcerning which modules are prerequisites of other modules, and whatlevel of competency is needed for advancement to a higher module; and(d) the student's competency level in the subject matter of theprerequisite modules. Additional factors may impact upon the number ofmodules included in a student's set of eligible modules; for example, ifa student has elected not to take certain subjects which are offered aspart of the curriculum of the educational institution, the modulespertaining to these subjects will not be included in the student's listof eligible modules, even though he may in fact be eligible to takeclasses in these modules.

[0156] Procedure 330: The program creates a list of potential classes,based upon the results of Procedure 320, creating a class for eachmodule for which there is at least a predetermined minimum number ofeligible students. In the event the number of students eligible for aclass in a module is greater than the maximum permitted class size, theprogram may compute the number of parallel classes needed to accommodateall the students and add these to the list of potential classes.

[0157] Procedure 340: The program makes an assignment of students to theclasses on the list of classes based upon an assignment algorithm whichmaximizes an overall objective function with respect to the modules andthe students of the educational institution. The selection of classesfrom among the list of classes and the selection of students from amongthose eligible for a class is based upon one or more weightedparameters, as more fully described herein below, such as the relativeimportance of the module within the framework of the curriculum of theeducational institution, the students' weighted “preference” forspecific modules from among a choice of modules, and the like. In thisinitial assignment, the program is operative to assign each student to asingle class, without any constraint being imposed with regard to thenumber of teachers available. At the conclusion of this procedure, thenumber of classes to which students have been assigned typically will bevery much larger than the number of teachers available to teach at anyone time. In the event multiple parallel classes for a single modulewere created in Procedure 330, students typically will be assigned so asto fill each class in turn; however, under certain circumstances,several of the classes may only be partially filled.

[0158] Procedure 350: The classes to which students have been assignedin accordance with Procedure 340 are ranked on the basis of theircontribution (“utility”) to the overall objective function. A fractionof those with the lowest utility are eliminated, subject to overridebased upon specific needs of the students or the educationalinstitution. For example, a class with less than the minimum number ofstudents would not be eliminated if it were absolutely essential for thestudents who were assigned to the class to take the class at that time.Similarly, a predetermined number of classes from each subject categorywould not be eliminated, so as to maintain a distribution of classesacross the various subject categories.

[0159] The program repeats Procedure 340, reassigning the students andredistributing them among the classes remaining after the elimination ofthe fraction of low utility classes in accordance with Procedure 350. Ifthe number of classes is equal to or less than the number of availableteachers, the program continues with Procedure 360; otherwise, theprogram repeats Procedure 350, again eliminating a fraction of thosewith the lowest utility. The loop ends when the number of classes towhich the students are assigned is equal to or less than the number ofavailable teachers.

[0160] Procedure 360: The program assigns the available teachers to theclasses to which students have been assigned at the conclusion of one ormore iterations of Procedure 340, based upon an assignment algorithm forthe teachers which maximizes an overall objective function with respectto the modules of the selected classes and the students assigned to theclasses. The assignment of the teachers is based upon the teachers'degree of readiness to teach a class in each of the modules (asexplained above) and one or more additional weighted parameters, morefully described herein below, such as the expected performance of thegroup of students who have been assigned to each class with the assignedteacher, in view of the combined past performance of the students withthe teacher.

[0161] Procedure 370: The program reassigns and redistributes thestudents among the classes to which teachers have been assigned,utilizing a refined utility function for each student based upon notonly the criteria of Procedure 340 but also upon the student's expectedperformance with the teacher assigned to the class. This has the effectof redistributing the students among the classes to which teachers havebeen assigned in a manner that maximizes the students' chances ofsuccess with the teachers. In the event that, at the end of Procedure360, no teacher has been assigned to a class to which students have beenassigned during the last iteration of Procedure 340, the class iseliminated prior to the execution of Procedure 370, and Procedure 370 isexecuted only with reference to the classes to which teachers have beenassigned.

[0162] Procedure 380: In the event that, at the conclusion of Procedure370, one or more teachers have not been assigned to classes, or one ormore students have not been assigned to a class, the program willtypically assign such students to an alternative activity, such as studyhall, and may assign such teachers to a non-classroom activity, such astutoring, study hall supervision and the like.

[0163] It will be appreciated that the procedures set forth above withreference to FIGS. 3 and 4 may be invoked not only to selectively assignstudents and teachers to classes, but also to produce a schedule of theclasses being taught in the educational institution. In this embodimentof the invention, the software program is operative to repeatedly selectand assign students and teachers to classes, and to do so as many timesas needed, so as to cover any predetermined period of time, such as afull school day, several weeks, or longer.

[0164] The basic procedures for assigning students and teachers toclasses over extended periods of time are similar to those outlined withreference to FIG. 3 and FIG. 4, but include adaptations and additionswhich are necessary or desired to take into account the element of timethat is an essential feature of such a scheduling program. Thus, afterall the students have been assigned to classes, in accordance with theprocedures of FIG. 3 or FIG. 4, these classes would be scheduled for thefirst period of the school day. The program would then be operative tostart the selection and assignment process again, after eliminating themodule to which each student has been assigned from the student's listof eligible modules. (If, after a student has completed all classes inthe module, he is found not to have achieved the minimum competencylevel required for the module, the module would once again be includedin the student's list of eligible modules.) This same limitation wouldnot apply to the teachers, since there is nothing wrong with the sameteacher teaching the same module to different students even severaltimes a day (although some limitation to prevent “burn-out” could beimplemented in an embodiment of the invention). The process of selectionand assignment to classes is repeated until all class periods for agiven day are scheduled, and a similar process is carried out for eachday of a predetermined number of days. Preferably, due to the dynamicnature of the scheduling process, the advance scheduling is done forrelatively short periods of time, for as many weeks or months in advanceas are needed to give the teachers time to prepare and the students timeto get the necessary class materials, etc. However, the scheduling mayalso be done for shorter periods of time, such as days, or longerperiods of time, such as a half-year or greater.

[0165] In a preferred embodiment of the invention, in cases wherescheduling is done for a period of time that includes multipleconsecutive modules (such as a 3-month period which features severalsets of consecutive 1-month modules), the schedule may be generated afew months out and then revised as new information comes in regardingstudent success or failure in the earlier set of modules. In this casestudents and teachers would be given their schedules for several monthsout, but then given revised schedules in the case of changes.

[0166] In a preferred embodiment of the invention, the scheduler mayalso be operative to assign assessment tasks to teachers. So, forexample, an educational institution may have as a general default thatall teachers do all assessments for their own classes. Alternatively,the teachers within a given teaching department may rotate grading orconducting assessments amongst themselves for each other's classes inorder to help produce a more transparent and standardized assessmentwithin the educational institution. Alternatively a certain amount ofrotation and a certain amount of grading one's own classes could beused. Third party assessments (such as state assessment exams orassessments provided by private companies) may also be used to providegreater standardization, as appropriate.

[0167] The schedule of classes produced in accordance with the presentinvention may be articulated in various ways. The simplest is a dailylisting in terms of “class periods,” for example, 1st period, 2ndperiod, etc. In a more complex version, the schedule provides actualtime slots for each of the classes, indicating start time and/or endtime, as required by the administration of the educational institution.Preferably, the schedule also indicates the classroom number for each ofthe classes, based upon the information inputted into data storagedevice 16 with regard to the physical facilities of the educationalinstitution, including the maximum number of students that can beaccommodated in each of the classrooms, and special features that may becontained or associated with any of the classrooms (such as alaboratory, a screening room, etc.). Further preferably, the schedule isoptimized with respect to these parameters, and/or with respect to oneor more of the other parameters described herein, and/or with respect toparameters which would be deemed suitable for optimization by a personof ordinary skilled in the art upon reading this description.

[0168] In addition to producing a schedule of classes for theeducational institution as a whole, the program preferably producesindividual schedules, providing each teacher with a schedule of theclasses he is expected to teach, and each student with a schedule of theclasses he is expected to attend.

[0169] In accordance with a preferred embodiment, which would beparticularly useful for an educational institution having a large campusand many classroom buildings, the database would also includeinformation about the relative distances between the various classrooms,and the scheduling program would take this information into account whenassigning teachers and students to classes, so as to minimize thedistances teachers and students would have to traverse when moving fromclass to class.

[0170] The proper implementation of some embodiments of the presentinvention utilizes information reflective of assessments of thestudents' competency levels in the various curriculum modules. Suchassessments preferably are inputted into the database by the teachers orby the school administration on an ongoing basis, and are immediatelyavailable for utilization by the software for purposes of futurescheduling of classes.

[0171] In a preferred embodiment, the program is also operative toinclude “assessments” as part of the scheduling process. For example,for modules of relatively brief duration, the program would be operativeto automatically schedule a period of predetermined length, dedicated tothe assessment of the students, at a predetermined period of time aftercompletion of all classes in the subject matter of the module. Such anassessment period may be scheduled for the students who have completed aspecific module, or for a larger group, comprising students from severalmodules each of whom will be assessed on the subject matter of thespecific module he has completed. In some cases, the assessment of thestudents may occur within the time slots allocated for teaching themodule, and no specific assessment period would then be scheduled.

[0172] The information concerning the various possible forms ofassessment may be associated with the basic information for each module,or may be associated with the basic information for each teacher. Thelatter arrangement would allow each teacher the freedom to decide whichtype of assessment technique to employ, including when the studentsshould be assessed, whether they should be assessed individually or ingroups, whether the groups should include only the students of themodule or also students of additional modules, the duration of theassessment period, and the range of time, if any, that should intervenebetween the completion of the teaching of the module and the assessmentperiod.

[0173] The results of assessments are preferably inputted into thedatabase on an ongoing basis, and are then available for use by theprogram for purposes of scheduling new classes. The inputting may bemanual, but if the assessment mechanism is computer-based and graded,then the input may be automatic.

[0174] In accordance with a preferred embodiment of the presentinvention, students may repeat a module several times on their way toachieving the necessary level of competency. Preferably each time astudent repeats a module, he will be given more attention to assist inachieving the necessary level of competency. For example, he may beassigned to a smaller class, he may be given a more competent teacher inthe module, or he may be assigned a tutor to assist him.

[0175] In accordance with a preferred embodiment of the presentinvention, and as elaborated in several examples herein below, theadministration and/or teachers of an educational institution may assigndifferent “weighted values” to the various modules, certain modulesbeing deemed “heavier” and others deemed “lighter.” (This weighting ofthe modules is distinct from the weighting of modules in their role asprerequisites for other modules, as described above.) The modulesaccorded a heavier weight are typically those that comprise the “core”of the curriculum.

[0176] The weighted values assigned to the various modules are thenutilized by the program as a factor in the process of selecting studentsand assigning them to classes. Modules that have been assigned a higherweighted value, because they comprise the core of the curriculum, willbe accorded greater emphasis and priority.

[0177] In certain circumstances, for example in colleges, the weightingof certain modules may vary as a function of the student populationsthat will be assigned to classes in the modules. For example, one ormore math modules, which are, required both for chemistry majors and formath majors may have one weight (or a range of weights) for thechemistry majors and a different weight (or range of weights) for themath majors.

[0178] The weighting of the modules may have additional application forthe scheduling process. For example, the educational institution maydecide that the students in the school are required to repeat one ormore times classes in the core modules (even though they have achievedcompetency in the module), and the program would then be operative toschedule students for such repeat classes at certain intervals. Inaddition, the various core modules may have associated with them severaldifferent teaching and assessment methods, such that for each repetitionof the module, students will be exposed to a different teaching and/orassessment method. For example, a module may first be taught in astandard lecture format with the assessment in the form of amultiple-choice quiz, and when repeated it would be taught in the formof a hands-on activity with a written project as the assessment method.

[0179] The weighting of the modules can also be used for purposes ofpreferential assignment of teachers to teach the modules. For example,in the assignment of teachers for core modules, the teachers who have ahigher competency level than other qualified teachers would be selectedfirst as teachers of the core modules.

[0180] The weighting of the modules may also be utilized as a basis forthe timing and scheduling of assessments. For example, the educationalinstitution may decide that students should be repetitively assessed inthe subject matter of the core modules, and the program would beoperative to schedule assessment periods for these modules atappropriate times and intervals.

[0181] In accordance with a preferred embodiment of the invention, thestudents of an educational institution would also be able to indicatetheir weighted preferences for certain aspects of the curriculum, andthis information would be utilized by the scheduling program forpreferential assignment of the students to classes. In one applicationof this concept, the students would indicate their preferences withrespect to various curricular subjects or categories (not individualmodules), providing an indication that they prefer to spend more timelearning certain subjects than others. In such an event, the schedulingprogram would maximize the assignment of students to classes in modulesthat fall within these curricular subjects or categories. In anotherapplication, the students would be able to access the list of modulesfor which they were eligible, and input a weight for each of them. Thescheduling program would utilize this information in maximizing theobjective function for assigning the students to classes, as explainedabove. In general, however, a student's preferences would not be takeninto account if he failed to achieve competency in one or more modulesand the differential between his actual age and the standard age atwhich competency in the modules was expected to have been achievedexceeded a predetermined maximum. In such an event, the student wouldtypically be assigned to classes in these modules regardless of hispreferences.

[0182] In accordance with a preferred embodiment of the presentinvention, the teachers of an educational institution may be accordedthe option of determining one or more parameters that have pedagogicalsignificance for the modules that they teach. For example, differentteachers may prefer to have different amounts of time to teach the samemodule. In such a case, teachers who prefer more or less teaching timethan the standard would be able to indicate the duration they need.Another example would be special equipment or special teachingconditions, such as a biology teacher determining that a particularmodule on ecology should be taught on a riverbank rather than in aclassroom. The teacher would input this special requirement, and theprogram would be operative to schedule that meeting place for the class,rather than a classroom.

[0183] In accordance with a preferred embodiment of the invention, theteachers of an educational institution may combine one or more modulesinto a single “super-module.” This would be particularly useful forpurposes of teaching an inter-disciplinary project, involving severaltopics which may not be inter-related on the basis of the normaldependency structure of the curricular modules. However, it could alsobe used for other purposes, such as to assure that a sequence of severalmodules within the same subject be taught as a unit, rather than asindividual modules spread out over an unknown period of time. Thecombining of several modules into a single “super-module” preferably istemporary, and the definitions of the individual modules remain intact.Students would be eligible to take a “super-module” only if they havefulfilled the prerequisites for all of the modules involved. Theflexible use of “super-modules” can be a powerful tool for teachers indeveloping new and innovative approaches to the teaching of varioustopics, without necessitating a restructuring of the curriculum as awhole. For example, a super-module entitled “Solar Energy as anAlternative Source of Power” may combine modules from biology,chemistry, and physics.

[0184] A preferred embodiment of the invention will schedule severalmonths in advance, so that teachers will have adequate time to prepareclasses. In cases where the invention schedules in advance two or moreconsecutive modules at a time, the invention may be operative to forcemodules in a given sequence to be offered consecutively, even thoughprior modules have not yet been assessed as mastered. So, for example,the math department may prefer to promote a particular pathway throughthe math curriculum that consists of modules M35, M36, and M37, becausethese modules are highly related and teachers prefer that they be taughtconsecutively. If the staff wanted to force the modules to be taughttogether in consecutive order regardless of how students do in theearlier module(s) (M35, M36), they could create a super-module out ofmodules M34, M35, and M36, and all three would be generally guaranteedto be taught in one sequence with no gaps of time in between.

[0185] However, if the staff wished only to typically keep these threemodules in consecutive order (with no significant gaps therebetween instudents' schedules), but also wished to permit the modules to berepeated (prior to continuing the sequence) should students not do wellenough in the earlier modules, the staff could preferably so indicate.The scheduler would then be operative to schedule the modules forstudents in consecutive order in advance, but would also be operative tosubsequently reschedule students out of the sequence (or into repetitionof earlier modules and back into the sequence) should the students notpass the earlier modules.

[0186] In one preferred embodiment of the invention, the program wouldby default schedule students in consecutive modules and then reschedulestudents who fail to pass earlier modules in the sequence. In anotherembodiment of the invention, the program would allow teaching staff toindicate that they wished certain consecutive modules to be scheduled insequence without significant gaps in time therebetween, or else theprogram would naturally put gaps between the consecutive modules to makesure students had been assessed and had passed previous modules in asequence before being placed in subsequent modules.

[0187] In a preferred embodiment of the invention, teaching staff wouldindicate which module sequences should preferably be given inconsecutive order (without gaps in time between them), and the schedulerwould be operative to prioritize scheduling those modules consecutivelyin advance, and to reschedule them when necessary. Alternatively oradditionally, the scheduling algorithms could be biased towards puttingmodules consecutively for certain sequences of modules, in accordancewith indicated choices of teaching staff. Teaching staff could indicatethrough “connection strengths” between modules how important it is toplace them consecutively, and the scheduler could be operative to focuson consecutive placement of modules with the greatest connectionstrengths between them, wherever possible. For example, a connectionstrength could be represented as a number between 0 and 100, where 0would indicate no necessity to put two modules consecutively in orderwithout gaps, and 100 would preferably force the scheduler toconsecutively schedule two (or more) modules. Alternatively, thescheduler could be operative to schedule modules in consecutive orderwhen possible, without any indication of connection strengths betweenmodules.

[0188] In accordance with a preferred embodiment of the presentinvention, the program may also be operative to assign students toclasses responsive to the student information concerning primary andsecondary languages spoken, written, and read by each of the students.This embodiment of the invention will be particularly useful inachieving the maximum integration of students for whom English is not anative language with students for whom English is a native language, soas to enhance their opportunities to learn English. In this embodiment,at least some of the modules will have associated therewith anindication of the minimal competency level in English that is requiredfor a non-native speaking student to be assigned to a class in themodule together with native English speakers (the class being taught inEnglish). Similarly, at least some of the modules will have associatedtherewith an indication of the minimum competency level in English(probably lower than the previous level) that is required for assigningsuch students to a class to be taught in English exclusively fornon-native speakers. Non-native speakers whose competency level inEnglish is even lower may be assigned to a class in the module taught intheir native tongue. In another embodiment, certain modules may beidentified as being especially useful for integrating native andnon-native speakers, and the program would be operative to assignstudents to classes in these modules such that appropriate proportionsof native and non-native speakers are present in these classes.

[0189] The competency levels of the students may be based onstandardized tests or assessments of the students in one or morerelevant language modules. The minimal competency level may be a singlemeasure for overall English language skills (speaking, reading and/orwriting), or may consist of separate measures for each of speaking,reading, writing, and other language skills. In the latter case, aweighted average measure of each of the separate measures may be used todetermine student eligibility to take a given module taught in English.For example, the teaching staff may decide that a primarilyvisual/spatial geometry math module requires greater competency inspoken English than in writing or reading ability. Although theseembodiments of the invention have been described with reference toEnglish as the primary language, it is appreciated that similarapplications are possible with reference to any other language as theprimary language, and with multiple additional secondary languages.

[0190] In a preferred embodiment of the invention, not all modules havestrictly academic content. For example, some modules may be in sports.Others may be in the arts. Some of these modules (e.g., music) may beplaced in the curriculum hierarchy with prerequisites indicated.However, other modules may be excluded from the necessity ofprerequisites, and may therefore be offered in generally any order. Forexample, students may select from amongst different choices for theirphysical education classes, and the ordering of those modules typicallydoes not matter. In these cases, the scheduling algorithms may beoperative to schedule these modules last, as fillers or as relativelylow priority items in the scheduling process. As appropriate, these maybe scheduled based only on certain minimum requirements, such as gymclass twice a week in a class having students of the same generalphysical age. In this manner, greater flexibility can be gained forother modules where scheduling priority is more crucial for studentsuccess, due to the nature of the subject matter.

[0191] In a preferred embodiment of the invention, the scheduler mayalso be operative to schedule in certain other non-academic timeperiods, such as lunch periods or study halls. These time periods may betreated as modules, or may be simply blocked out for certain studentsfor certain parts of the schedule (e.g., a rotating lunch period acrossa large high school). Alternatively, these periods may be scheduled asvery long (e.g., up to one year in length) modules, to prevent the needfor continuous scheduling.

[0192] It is generally recognized that peer tutoring is an importantpedagogical tool with many benefits, including serving as a usefulreview of the topic for the tutor, helping the tutor to think about thetopic in a new manner, helping the tutor to develop useful skills, andhelping the tutee to learn the material in a close, one-on-onesituation. Despite this fact, most traditional educational institutionsrarely take advantage on a large scale of the benefits of peer tutoring,and few incorporate it as an important part of their pedagogicalprogram. In accordance with a preferred embodiment of the presentinvention, peer tutoring may be utilized as a significant educationalresource, providing major benefits both for the students and for theteachers of educational institutions in which the present invention isimplemented.

[0193] In accordance with a preferred embodiment, once a student hasachieved a high enough competency level in the subject matter of one ormore modules, or groups of modules, he becomes eligible in principle totutor another student in the subject matter of these modules. Inaccordance with a preferred embodiment, the scheduling program is thenoperative to schedule tutoring sessions for the tutor and a tutee, whotypically may be a student who is weak in a subject category, but mayalso be any student who has indicated an interest in being tutored. Thetutoring sessions may be scheduled to take place in one or several timeframeworks—after the tutee has finished taking a formal class in themodule (so as to help him review the material prior to an assessment);in parallel with the tutee's participation in a formal class in themodule (so as to help the tutee learn the subject matter of the moduleon an ongoing basis); before the tutee has taken a formal class in thesubject matter of the module (this may be particularly helpful fortutees who do not do well in formal class settings), or in place of thestudent taking the class in a formal class setting, should the tutor besufficiently competent.

[0194] The utilization of students as tutors, in the context of thisembodiment of the present invention, has far-reaching consequences forthe efficiency of the scheduling of classes in the educationalinstitution. When used properly, the scheduling of tutor-tutee pairswill enable significant reduction of the average class size, which, inand of itself, will have a beneficial impact on the quality of thelearning and teaching in the educational institution.

[0195] When the present invention is first implemented in an educationalinstitution, it is expected that only a small number of students will beeligible for tutoring. However, in time, it is expected that asubstantial proportion of the student body will be involved instudent-to-student tutoring, such that at any given time 20 percent ofthe student population may be functioning as tutors and another 20percent will be engaged as tutees. With 40 percent of the studentpopulation engaged in tutor-tutee pairs, the class size for theremaining 60 percent of the student population will be substantiallyreduced. In certain educational situations (such as apprenticeships),the percentage of tutor-tutee pairs could be significantly higher. Inthe high school setting, a certain degree of teacher supervision istypically appropriate in connection with the tutoring. However, sinceeach tutor-tutee pair does not need a separate classroom and many pairsmay be accommodated at the same time in a large room, such as a libraryor auditorium, only a few teachers will be used as supervisors(qualified volunteers and teaching aids may also be used to work withthe teachers to help supervise large numbers of students), therebymaking it possible to better allocate and utilize the teaching resourcesof the educational institution. In fact, by using currentlyunder-utilized rooms of a school (such as the auditorium, lunchroom, orlibrary of a high school), for both tutor-tutee sessions and even forregular classes, in accordance with the present invention, the presentinvention may have the additional highly beneficial effect ofameliorating classroom overcrowding without having to build new physicalclassrooms, thereby saving large sums of money while improving classroomconditions for both students and teachers.

[0196] In a corporate job training setting, the large scale use of peerto peer tutoring in accordance with an embodiment of the presentinvention will make it possible to minimize the number of trainersrequired to be hired to teach the employees at the corporation, therebyminimizing expense. In effect, the implementation of embodiments of thepresent invention will permit expertise to ripple across an organizationin a highly effective fashion. The invention could also be programmed toprovide summaries to management of the total training needs of thecorporation, and note where that training is available internally andwhere it will be necessary to bring in outside trainers. Using thissummary information, management may negotiate for much better rates foroutside trainers in package deals. Software configured in accordancewith a preferred embodiment of the present invention could also beprogrammed to compare the cost (in terms of salary and the like) ofusing employees as trainers versus hiring outside professionals.

[0197] The incorporation of tutor-tutee pairs within the framework ofthe scheduling program will have the added benefit of enhancing theflexibility of the scheduling process itself. Since, for schedulingpurposes, every student who is eligible to be a tutor can be treated asif he were a “teacher,” and since every tutor-tutee pair can be treatedas a “class,” the number of “teachers” available for assignment toclasses and the number of potential classes for assignment are vastlyincreased. As a consequence, the number of possible groupings intoclasses of students and teachers also increases greatly, which makes itpossible for the program to optimize more efficiently the variousparameters that are taken into account in the scheduling process. Mostpreferably, many of the students who would otherwise have been scheduledfor study hall can be selected to be either tutors or tutees.

[0198] Educational institutions in which aspects of the presentinvention will be instituted will also be better able to accommodate andprovide for the needs of students with learning disabilities and forspecial education. In particular, they will be able to maximize theintegration of students with learning disabilities in classes with otherstudents, without sacrificing the special attention that such studentsmay need. In accordance with one preferred embodiment, students havingspecial educational needs would be so identified in the database, andthe scheduling program would be operative to schedule such students inclasses based upon one or more rules that the educational institutionhas determined with respect to such students. For example, studentsidentified as suffering from attention deficit disorder (ADD) would bepreferentially assigned to smaller classes, since ADD students do betterin smaller classes in which the distractions of other students, which isa special problem for ADD children, is minimized. Preferably, thesesmaller classes would also include students who do not suffer from ADD,thereby promoting the integration of the ADD students within the generalschool population and providing the non-ADD students with the benefitsof closer contact with a teacher in a smaller class. In accordance withanother preferred embodiment, teachers who have special training andskills in teaching students with specific disabilities (for example,students who are visually impaired), would be preferentially assigned asteachers of classes which include students identified in the database asrequiring such specialized skills, for all classes to which they areassigned, or for specific modules where the need is greatest.

[0199] In accordance with a preferred embodiment of the presentinvention, various categories of learning disabilities (e.g., dyslexia,ADD, and the like) may be specified in data storage device 16. Inaddition, the degree of disability within each category may also bespecified (for example, by a number between 0 and 100, or by any othertechnique considered useful by specialists in the field). Teachers,administrators, learning disability, and curricular specialists may thendetermine, for any given module, which students with learningdisabilities may be integrated with students without the disabilities.For example, it may be determined that students with certain forms ofvisual impairment should be educated separately in geometry modules butmay be integrated with students without disabilities in modules which donot require as much visual work, such as modules in poetry or history.Or it may be more precisely determined that only students with visualimpairments of a particular degree or higher need be separated out. Theresult would be a far greater integration of learning disabled studentsinto regular schools in the conditions most effective for their successand for the success of the regular students. Information regarding whichlearning disabilities mix well with others (and in what degrees) couldbe specified in storage device 16 and used by the scheduling algorithmsas well, for the best possible integration of learning disabled studentswith each other and with the rest of the student body.

[0200] Teacher retraining and preparation may also be given specialemphasis in a preferred embodiment of the invention. Specifically, thescheduling algorithms may be focused in such a way as to use dataregarding teacher competency to enhance the opportunities for teacherretraining by the teaching staff of the educational institution itself.Thus, teachers who have been determined to be “master teachers” (basedupon past teacher performance with students) may be scheduled to teach aclass for other teachers in how to teach a particular module. Similarly,a teacher who requires training in a particular module may be assignedto observe a master teacher teaching a class of students in that module,or the master teacher may be assigned as an observer of a class in thatmodule taught by another teacher who has not been successful in the pastin teaching that module (based on student assessment data). Thesemethods of training, when scheduled at opportune times (such as before ateacher must teach a particular module), can be used to improve thetraining of a particular department or subject in a particular set ofmodules, or to cross-train teachers from one department or subject inmodules in another, such as by training physics teachers to help teachchemistry. In addition, by scheduling training sessions appropriately,and by combining this scheduling with the specialized coding of modulesaccording to how they may require specialized teaching for differentcategories of learning disability (mentioned above), the scheduler caneffectively disseminate training that regular teachers need to teachlearning disabled students in various modules. It can do this on a “justin time” basis—where teachers receive the training shortly before theymust teach the module, or it can do it on a generalized training model,where the teaching staff of an educational institution is slowly rampedup in their abilities to teach particular modules and/or to teachchildren with particular learning disabilities, independent of theactual schedule of classes.

[0201] It is noted that some embodiments of the present invention do notlimit the scheduler to the creation of classes in which students allhave equal levels of mastery of all of the prerequisites, i.e.,completely homogeneous classes. These embodiments can instead use thevarious prerequisite techniques described herein (e.g., the use ofweighted averages across a number of prerequisites to a given module) inorder to create more heterogeneous classes based on mixing students ofdiffering prerequisite mastery levels. For some applications,administrators weaken the prerequisite requirements for some students toenter certain modules, while for other applications, the administratorsmay increase the prerequisite requirements for some students to enter amodule. It is to be understood that some subjects are taught moreeffectively with a more heterogeneous approach and others with a morehomogenous approach, and that some preferred embodiments of the presentinvention are configured to allow administrators to define a level ofheterogeneity for some or all modules taught in their school. Ananalysis of the database of assessments stored in data storage device 16can provide administrators with useful feedback in this regard, as canthe direct feedback of students.

[0202] By using these techniques to vary the prerequisite requirementsacross students, the scheduler can be used to create more heterogeneousclasses, as appropriate, in a systematic manner for certain (or evenall) parts of the curriculum. Educational staff may find that it ishelpful for student success to put students with lower success ratesinto more heterogeneous classes, for example. Alternatively, auniversity level one week module entitled, “Free will: A neuroscienceperspective” might advantageously have higher prerequisite requirementsfor students majoring in biology and philosophy, and somewhat lowerprerequisite requirements for students taking the module simply tofulfill a distribution requirement.

[0203] In accordance with a preferred embodiment of the presentinvention, greater heterogeneity in a class is obtained, while requiringthe students assigned to the class to have generally the sameprerequisite mastery level, by the scheduling program: (a) analyzing thedatabase to see how quickly students progress through modules in eachsubject, and (b) subsequently trying to mix into a given class studentsof different abilities who have completed the prerequisites for theclass. Similarly, student feedback could be used to purposefully havethe scheduler mix different types of students into common classes.

[0204] In a preferred embodiment of the invention, required thresholdgrades for less central modules in the curriculum are automaticallylowered for students who are not going through the curriculum fastenough. To do this, for example, the scheduling algorithm may look atthe weights which are indicative of how central the modules are to thecore curriculum, and lower the threshold passing grades for modules withlower weights, if appropriate for certain students. This procedure ispreferably done responsive to administrator input indicating how muchlatitude the scheduling algorithm has to automatically adjust requiredthreshold passing grade levels.

[0205] In a preferred embodiment, an absolute minimum threshold grade isdesignated for particular modules, subjects, or the whole school.Alternatively or additionally, a set of allowable lower limits isdefined which depends upon the centrality of each module to thecurriculum (as represented by the weight attached to it). Following isan example of such a set, where the weights that represent how central amodule is to the curriculum vary from 1 to 100:

[0206] For weights of 1 to 25, the threshold passing grade is 70%.

[0207] For weights of 26 to 50, the threshold passing grade is 80%.

[0208] For weights of 51 to 75, the threshold passing grade is 85%.

[0209] For weights of 76 to 100, the threshold passing grade is 90%.

[0210] For some applications, the educational institution may initiallyrequire students to achieve a 90% threshold grade in all modules, butupon finding students who take too many repetitions of certain modulesto pass (or who cannot consistently achieve that goal), the variablethresholds described above could be used instead.

[0211] In preferred embodiments of the invention, the program alerts theadministration in circumstances where students (individuals, students ofcertain ages or levels, or students across the entire educationalinstitution) are not making adequate progress relative to a standardlevel of progress expected for their level of study. This allows theadministration to evaluate if they are teaching too much content, needto lower threshold grades, or use other strategies, such as schedulingadditional classes after school and the like. In a preferred embodimentof the invention, educational staff will be able to modify thresholdgrade requirements for particular modules, subjects, or the entirecurriculum as appropriate. It is to be understood that variablethreshold passing grades may be determined according to whateverassessment method the educational institution uses for particularmodules, and could be based on exams, quizzes, homework, and the like,or could be based on the results of projects or interviews.

[0212] Preferably, the output of the scheduling algorithm comprises:

[0213] (a) a list of modules which each student is studying, noting alsothe name of the responsible teacher and the time of instruction;

[0214] (b) for all teachers, which modules they are teaching, notingalso the students in the class and the scheduling of the class;

[0215] (c) for classes, the overall master schedule for the educationalinstitution;

[0216] (d) for tutoring sessions, information such as the time,location, participants, and module covered for each tutoring session;and

[0217] (e) additional information, as appropriate, such as whichclassrooms (if any) modules are scheduled in, which formats (e.g.,online or person-to-person) are used, which teaching styles are used,etc.

[0218] It is noted that the scheduling algorithms that generate thevarious teacher, student, and class schedules can be operative togenerate the schedules in a variety of different orders, and do notnecessarily need to generate schedules in a sequential order, e.g., from9 AM March 1 through 3 PM March 31. Also, the scheduling algorithms donot necessarily need to fill in one class entirely before scheduling thenext class. For example, the scheduling algorithms may be configured insuch a manner as to schedule the most difficult-to-schedule students formany modules over a relatively long time frame, before scheduling otherstudents. An example of a student who may be generally more difficult toschedule would be a learning disabled student, such as one who has asevere case of dyslexia and has very specialized requirements, for whomonly a limited number of teachers have been found to be effective.Another example would be an ADD (Attention Deficit Disorder) student,who preferably sits in classes having relatively few children, in orderto be able to properly focus on the lesson at hand without being overlydistracted by other students. The scheduling algorithms may schedulethis ADD student into a large number of modules before the otherstudents are scheduled, in order to be sure the student is placed insmall enough classes before these classes are filled.

[0219] For some applications, certain modules are designated by teachingstaff or administrators as critical at a given time for a significantgroup of students to meet graduation requirements. In this case, thecritical modules may be scheduled out far in advance, before othermodules are scheduled.

[0220] In one embodiment of the invention, the scheduling algorithms maygenerate a skeleton (partially filled in) schedule over a fairly longperiod of time, and then schedule the other classes around that skeletonschedule in the optimal manner. A variety of different blendedapproaches like this are preferably provided, which combine determininga certain part of the schedule in a more rigid fashion, and permittingother parts of the schedule to be varied by the scheduler asappropriate.

[0221] It is noted that although the scheduling algorithms typicallydetermine the educational institution's classes a certain period of timein advance, there may be temporary “jagged edges” in the schedule (thatis, not all classes will necessarily end at precisely the same endpoint), especially towards the end of the period. Thus, if thescheduling algorithms are scheduling in advance by about 3 months, somestudent schedules may have some classes that end after the 3 monthperiod, because the duration of some modules extend the schedule beyondthe 3 month time frame. If it is desired, these jagged edges can beremoved, for example by the use of study halls, but typically thescheduling algorithms are quite flexible in this regard, and onlyremoved jagged edges at the onset of the end of a term. In a preferredapplication, an educational institution determines schedules for about 3months in advance, but then performs some rescheduling each month as newassessment information is obtained (for example, if some students do notachieve the threshold grade for a module and need to repeat it).

[0222] It is noted that there are many ways to organize schedules, andthat the scheduling algorithms may be implemented to fit a variety ofdifferent strategies. Some high schools, for example, use a 5 period daywith about 1 hour per period. It could be decided that most modules andtheir assessments should take 15 hours at 1 hour per day, i.e., 15school days. If the high school were generating schedules 3 months inadvance, therefore, they will typically schedule in a given time slotabout 4 modules for the three month period. In other words, a studentmay have a 1st module in Period 1 for the first 3 weeks, then a 2ndmodule in Period 1 for the next 3 weeks, then a 3rd module in Period 1for the next 3 weeks, then a 4th module in Period 1 for the last 3 weeksof the 3 month period.

[0223] In another example, if a high school uses a block schedule, itcould decide that some 3 week long modules are to be either 2.5 hoursper day on Tuesdays and Thursdays, or Monday, Wednesday and Friday forthe same 3 weeks for 100 minutes per day. The scheduling algorithmswould preferably be operative to schedule modules across the differentformats, and should teachers or school administrators prefer, modulescould be associated with particular scheduling formats (such as six 2.5hour sessions versus nine 100 minute sessions).

[0224] Advantageously, scheduling in a variety of different orders usinga combination of modularizing the curriculum and mapping dependencyrelationships between the modules, allows administrators to discover andexploit flexibility inherent in the curriculum that is generally notrevealed using tools of the prior art. If an entire K-12 curriculum, forexample, consists of 600 modules, it could easily be that a givenstudent is ready to take 50 or 60 of them at a given time. In atraditional educational institution, such as a high school, a studenttypically studies content that correlates with approximately five ofthose modules, and is likely being made to learn at least some contentwhich correlates with modules from among the other 540 or 550 modulesthat he is not ready to take, or has already mastered at the time he istaking that content.

[0225] It is noted that for many applications described herein,schedules for the different students will tend to differ significantly,as the students make their way individually through mastering thecurriculum offered by the educational institution. For otherapplications, however, a bias is operative in the scheduling algorithmsto facilitate keeping groups of generally similar students together,sometimes even at the expense of other parameters to be optimized, suchas class size or preferred learning styles. Such applications arepreferable in educational institutions which decide that it isparticularly important to promote group cohesion by keeping the samestudents together over many modules.

[0226] An educational institution may decide that certain parts of itsschedule should continue to be determined in the traditional format, inwhich case the scheduling algorithms could be set to schedule aroundthose periods of time. So, for example, a religious school may want tohave religious studies in a traditional format during the first half ofevery day, and then have the scheduler schedule the second half of theday. Alternatively, the school may designate the morning for religiousstudies for half of the student body and the afternoon for religiousstudies for the other half, in which case the scheduler will for anygiven time work with whichever students are available and required to bescheduled by it.

[0227] It is known in the field of education that on occasion somestudents become “phobic” in a subject area, i.e., they become convincedthat they cannot do well in a particular subject, such as math orhistory. The scheduling algorithms are preferably operative todynamically and automatically provide a greater amount of tutoring forstudents who are taking modules in subjects in which they have eitherindicated they are phobic, or in which the invention has determined thatthey tend to do poorly. (For example, the algorithms may determine thata student tends to repeat modules in a particular subject areasignificantly more often than does his peers.) If appropriate, thescheduling algorithms may designate for these students one of the betterstudent tutors, as determined, for example, by statistical analysis ofthe database of assessments in data storage device 16 or by directstudent input. If a student is particularly weak in a subject, thescheduler could even be operative to schedule one-on-one or small grouptutoring sessions with a teacher, or generally smaller classes in thatsubject, etc.

[0228] For some applications, the scheduling algorithms are operative toproduce a student's schedule during a session in which the studentinputs a series of scheduling requests, e.g., particular modules,teachers, scheduling constraints, or tutor requests. After each request,the algorithms generate a schedule in accordance therewith, to themaximum extent possible given other constraints under which thealgorithms operate. Alternatively or additionally, in this manner eachstudent in the school is able to enter one or more requests which areaccommodated in the scheduling process. Further alternatively oradditionally, administrators, teachers, or students enter such requests,and the scheduling algorithms attempt to accommodate the requests inaccordance with constraints defined by an authorized person.

[0229] In a preferred embodiment of the present invention, computerstations that link into one or more servers 12 are strategically placedin a variety of locations. Students—for example in an adult educationprogram in a particular city—could simply walk into the centers wherethe stations are housed, and the people running the center (or thestudents themselves through direct input into a browser) would input toa local computer a unique student identifier, e.g., a unique numericidentifier for every student, or some combination of other data such asfirst and last name, city of birth, birth date, etc. The scheduler wouldthen be operative to combine the students present at the center in amanner best suited for their forward progress through a curriculum. Itcould, for example, put some group of students together withprofessional or volunteer staff (or temporary volunteers) at the center,who are capable of teaching a module(s) that the assembled students areready to learn. Alternatively, the scheduler could determine that onestudent is capable of tutoring another (or a group of others), andtherefore assign that student to lead a tutoring session. Typically, alarge group of assembled students can be divided into a plurality ofclasses as well as a plurality of tutoring sessions.

[0230] The scheduler may intermittently determine that an assessment isappropriate, for example, if a student is present for whom there is noavailable teacher or tutor. The central database (stored on data storagedevice 16) preferably contains printable assessment quizzes for thispurpose. The database could also contain suggested lesson plans for eachmodule, and printable curricular materials for the assembled students touse.

[0231] Because the center is envisioned as typically being the primarysource of learning for many of the students, it generally does notmatter if they come in infrequently (e.g., every few weeks), because theprogram could simply begin at the point where it had ended a previoussession, if appropriate. If the students were enrolled in anothereducational institution as their primary institution, then thescheduling algorithm could be operative to coordinate with thatinstitution so that more recent assessment information would beavailable for the algorithm to access. It should be noted that thevarious centers to which students could go are generallyinterchangeable, in that a student could go to any of them, and beassigned to work with available staff and any other students who arethere at the same time.

[0232] Preferably, the scheduling algorithm is operative to coordinatefuture classes at a center. Further preferably, the algorithm helpsstudents to schedule their own classes at the center, based on whatresources are expected to be available at any given time. For example,the program could be operative to let students know that instructors whoare eligible to teach certain modules the students are ready to take areavailable later in the week at a given time, and the students could signup in advance for sessions with those instructors.

[0233] In accordance with a preferred embodiment of the invention,teacher workloads may be constrained to a limited number of modules fromamong those they are eligible to teach. The scheduling algorithms willpreferably limit the educational institution's schedules to those whichsatisfy these teaching workload constraints. So, for example, if anEnglish teacher were constrained to teaching three specific Englishmodules (E23, E32, and E38) over a 5-month period, the scheduler wouldonly be operative to schedule the teacher in those modules over thatperiod. Alternatively, the scheduler could be constrained to limit thenumber of modules a teacher would teach in a given period, but thescheduler could choose which modules those would be, in accordance withoptimization techniques described herein.

[0234] For some applications, modules in the curriculum could be groupedby teachers into functional sub-groups, and the scheduling algorithmscould be operative to schedule teachers only in modules (or a limitednumber of modules) within one or several sub-groups at a given time. So,for example, all modules related to force and motion in physics could bein one sub-group, and a physics teacher could be scheduled only withinthese force and motion modules over a certain period of time, and thenin modules from another sub-group over another period of time, so as tomake preparation for classes easier.

[0235] In accordance with a preferred embodiment of the presentinvention, in which the students are children, parents of the childrenmay not only access information about their children's schedule ofclasses, but also be notified in advance of scheduling events that willenable the parents to better assist their children in learning thecurricular modules. In one embodiment, a parent may indicate that he hascompetency and/or interest in particular modules and is capable ofassisting his child in learning those modules. In such an event, theprogram may be operative to notify the parent in advance that his childis scheduled for a class in one of these modules so as to enable theparent to set aside time to be more involved in the child's learning ofthese modules. The notification may be in the form of an automaticemail, phone call, letter, page or other appropriate method.Alternatively or additionally, the program may be operative to informthe relevant teacher of the parent's indicated skill or interest,thereby enabling the teacher to contact the parent to invite him toparticipate in the teaching of the class. Similarly, non-parentvolunteers, with appropriate authorization from the schooladministration, may indicate their interests and competencies inparticular modules, and the program may be operative to make theinformation available to the teachers.

[0236] It will be appreciated that, over time, a large amount ofcumulative data will be amassed on data storage device 16 concerning theteachers and students of the educational institution. With respect tothe students, the data will provide a detailed record of all moduleseach student has taken, the teachers who taught him the modules, and theassessments of his competency level before and/or after completion ofthe modules. The data will also provide a record of the students both astutors and tutees. For the teachers, the data will include a detailedrecord of the modules they taught, the students who were in theirclasses, and the achievements of their classes as reflected in theassessments of the students. In accordance with a preferred embodimentof the present invention, the program is operative to analyze thisstorehouse of data so as to determine patterns or associations that maybe significant from a pedagogical perspective, both for the teachers andfor the students.

[0237] For example, the stored data of the assessments of the competencylevels of each of the students can be analyzed statistically, providingan indication of the average improvement of the student over time, withrespect to groups of modules or individual modules (if the studentrepeated classes in the same module) or providing an indication of theteacher with whom the student achieved the most significant improvement.If a meaningful correlation is determined between a specific teacher andthe improvement in a student's competency level, the program would thenbe operative to selectively assign the student (or to assign him moreoften) to classes taught by such a teacher, rather than by anotherteacher with whom the student may not have shown such improvement. In asimilar fashion, the data concerning student tutor—tutee pairs may beanalyzed, providing an indication of the degree of improvement of thetutee and/or the degree of success of specific students as tutors.

[0238] The accumulated data will also provide the administration of theeducational institution with a valuable tool for evaluating thestrengths and weaknesses of its teaching staff. For example, it will beable to ascertain that certain teachers are more successful teachingcertain modules and less successful teaching other modules. In such anevent, the program may be operative to preferentially assign teachers toteach those modules in which they have a higher average performance, andminimize their assignment as teachers of other modules. The data wouldalso enable both teachers and administrators to more easily be madeaware of the subjects or topics in which teachers are weak, and theadministrators could then refer the teachers for continuing educationclasses in the subjects in which they are weak or help them to takeadvantage of retraining options made possible by the preferredembodiments of the invention described herein.

[0239] In accordance with a preferred embodiment of the invention, thescheduling program would also be operative to access data inputted bythe teachers and the students concerning the times they are or are notavailable for classes. The program would then selectively scheduleclasses for the teachers and the students only for the times that theyare available. This application of the invention would be particularlyuseful for concentrating a teacher's teaching schedule or a student'sclass schedule into blocks of time, so as to accommodate otherscheduling needs of the teachers and students. For example, in a jobtraining setting, the teachers and the students may only be free forclasses on a certain day of the week, or during certain hours of theday, and the scheduler would be operative to schedule classes to occuronly in available teacher and student times.

[0240] It will be appreciated that the combination of a modularizedcurriculum and a sophisticated resource management program in accordancewith aspects of the present invention makes it possible to deviseteaching schedules and schedules of classes that optimize the variousparameters that have been described hereinabove which directly orindirectly affect the quality of the teaching and learning that takesplace in the educational institution. Preferred embodiments of thepresent invention adapt algorithms that are known in the art to optimizethese parameters, within the constraints of generally only placingstudents in classes for which they have attained substantial competencein the subject matter of the modules prerequisite thereto. A personskilled in the art will appreciate that there are many ways forgenerating a generally optimized schedule based on a set of constraintsand a set of variables to be optimized. In one embodiment of the presentinvention, a score or weight is given to each of these parameters, andthe optimizing software searches through a large number of possibleschedules for the entire school, in order to determine a set of classschedules that generate a maximum score from which a final schedule willbe determined.

[0241] By way of illustration and not limitation, typical parameters tobe optimized may include: (a) class size; (b) expressed teacherpreferences to teach particular curricular modules; (c) expressedstudent preferences for a particular module, subject, or teacher; (d)data indicating the success of a particular teacher with respect to aparticular student or module; (e) geographical distance that must betraversed by students and teachers between successive classes; and (f)preferential scheduling of modules whose subject matter comprises the“core” of the curriculum.

[0242] Table 1 shows a sample scoring system (showing only three of thelarge number of potential parameters) that may be used in accordancewith a preferred embodiment of the present invention: TABLE 1 ParameterValue Student preference for a module 0 if student is ineligible formodule 1 to 100, according to student's choice, if student is eligiblefor module Teacher preference for a module 0 if teacher is ineligible toteach module 1 to 100, according to teacher's choice, if teacher iseligible to teach module Centrality of module to 1 to 100, with 1meaning the module is curriculum least essential to the curriculum and100 meaning it is most essential, with gradations in between.

[0243] It will be appreciated that the various parameters themselves maybe accorded weights with respect to one another, providing an indicationof the relative importance of the various parameters within the overallpedagogical framework of the educational institutions. This relativeweighting would then be taken into account in maximizing the variousobjective functions in the process of assigning students and teachers toclasses and producing schedules of classes. It will also be appreciatedthat an educational institution may vary the relative weighting of thevarious parameters, on an ongoing and dynamic basis, resulting indifferent schedules having different emphases and significance from theperspective of the teachers and the students.

[0244] Reference is now made to Table 2 below, which listsrepresentative variables and parameters which may be used for amathematical articulation of the method of an embodiment of the presentinvention. In this table and the equations which follow, the index s(taking on values from 1 . . . S) represents a student, the index m(taking on values from 1 . . . M) represents a module, the index t(taking on values from 1 . . . T) represents a teacher, and the index c(taking on values from 1 . . . C) represents a class. A parameter, suchas r_(sm), which represents the readiness of a particular student tostudy a particular module, may have any decimal value between 0 and 1,although it will be appreciated that in a particular algorithmdefinition these values may be increased in range and/or shifted alongan absolute scale by the use of suitable constants (represented by theletters k and c, indexed by numbers, e.g. k₁). In the case of theparameter r, a value of 0 would indicate that the student is not readyfor the module and would not benefit from being exposed to it. A valueof 1 would indicate that the student is fully prepared for the module.Intermediate values could be used at the discretion of the educationalinstitution to indicate such conditions as a student possessing most ofthe prerequisites for a module. In Table 2, each parameter is describedonly briefly, and its full intent should be understood in terms of thepreceding description.

[0245] It will be appreciated that many of the various constants andparameters described herein, such as k_(i), may in fact be single- ormulti-dimensional vectors, taking on different values as a function oneor more relevant axes. For example, k₂ is described hereinbelow withrespect to a relative desire for tutoring versus classroom-basededucation, and may have a value such as 0.6. In the vector form,however, k₂ may have the range of values {0.55, 0.6, 0.65, 0.9}, eachvalue corresponding respectively to the desirability of tutoring in the9th, 10th, 11th, and 12th grade levels. Similarly, k₂ may be a twodimensional array, defined as k₂ (grade level, X}, where X equals 1 formath and science modules, 2 for humanities, and 3 for other all others.TABLE 2 Param- eter Description r_(sm) Readiness of student s to studymodule m. u_(sm) Readiness of student s to teach (tutor) module m.e_(sm) Readiness of student s to be tutored in module m based solely onthe number of times he/she has previously been tutored, and howsuccessful he/she has learned in tutoring situations, either in generalor in the subject of module m. Note, this parameter is independent of r.i_(tm) Suitability of teacher t to teach module m. w_(m) Importance (orweight) of module m within the curriculum. Psm Preference of student sto take module m based on both desired specialization (core classes) andexpressed preference (electives). c_(stm) Success student s has had inlearning with teacher t in subject area of module m. Optionally, thisparameter may also be adjusted to incorporate a bias towards keeping astudent with the same teacher over multiple terms. A_(c) Measure of thepreference of the age range in class c. For example, 1/(oldest −youngest) could be used. Y_(sc) Suitability for student s to learn inclass c, based on factors such as ADD vs. class size, language skillsvs. class composition, and so on. S_(c) Measure of the preference of thesize of class c. For example, 1/(#/students), or 1/(ideal # − actual #).

[0246] Reference is now made to FIG. 5, which is a simplified flow-chartof an enhanced set of procedures for optimizing the assignment ofstudents and teachers to classes, in accordance with an embodiment ofthe present invention.

[0247] Procedure 510: The program accesses the educational resource datastored on data storage device 16, including the curriculum information,the teacher information, and the student information.

[0248] Procedure 520: The program computes, for each student, therelative benefit R he/she would derive from studying each module with aregular teacher, based upon the parameters r, w, p, and e. For example,we might set R_(sm)=k₁r_(sm)w_(m)p_(sm)−k₂e_(sm). Here, the constants k₁and k₂ are set to nonzero values determined partly by the overallpriority to be accorded the factors they are associated with in thedefinition of R by the school administrators, and partly by the need tokeep all constants in the algorithm in balance with one another so thatone factor does not end up dominating the result; the possible need toapply trial and error as a final step in connection with selecting theirprecise values for best algorithm performance (in terms of speed ofcomputation and quality of solution) will be appreciated by those versedin the art. The values are set to be the same for all students andmodules for a given run of the algorithm, but may be varied betweendifferent runs.

[0249] It is noted that r_(sm) or another parameter may be determined,at least in part, in order to provide a desired amount of time betweenstudent s taking a module m_(previous) and the student taking module mwhose content is related.

[0250] In a preferred embodiment, some students (e.g., those with lowgrades or with learning disabilities) may be favored in scheduling, suchthat, for example, any r_(sm) values greater than 0.75 are automaticallyincreased to be 1.0, so as to increase the likelihood that they will infact be scheduled to sit in a class teaching a module from which theywould maximally benefit. Alternatively, a new “favoring” parameter,f_(s), may be introduced and used in scheduling optimizations algorithmsto indicate the extent to which the educational needs of student sshould be favored in establishing classes and tutoring sessions.

[0251] Procedure 530: The program computes, for each module, the totalvalue it possesses for students at present, based on the benefits itwould provide to each student as computed in Procedure 520:V_(m)=f(R_(1 . . . S, m)); the function f could be any function of theelements R_(1m) . . . R_(Sm), for example, a simple sum.

[0252] Procedure 540: The program identifies the module-teacher pair forwhich k₃V_(m)+k₄i_(tm) is a maximum, say m₀, t₀. Since V will beaffected by how many students will benefit from a module as well as byhow much they would benefit, this procedure will tend to select themodules most needed by the greatest number of students. A predeterminednumber of students (equal to the average class size) with the highestR's for the module (regardless of whether they have a higher R foranother module) will be designated for a class in the subject matter ofthe module m₀, taught by teacher t₀, and eliminated from furtherconsideration for the time being, along with the chosen teacher. It isnoted that the constants k₃ and k₄ are preferably set to nonzero valuesdetermined by the overall priority to be accorded to the factors withwhich they are associated, so as to determine the best module-teacherpair.

[0253] Procedure 550: The program checks whether the number of studentsand/or teachers remaining falls below a predetermined quantity. Forexample, the program may continue until all teachers have been assigned,or it may continue until the number of students remaining isapproximately the desired number to be engaged in tutoring.Alternatively or additionally, the check may be based on whether thehighest remaining R value among unassigned students (for any module)falls below a given standard. In either case, if the program determinesthat the desired condition has been met, it proceeds to Procedure 560.If the condition has not been met, the program returns to Procedure 540and schedules another class.

[0254] Procedure 560: After the desired number of teachers and classeshave been assigned, the program provisionally assigns any residualstudents, if there are any, to a pool of students who may tutor or betutored in a module.

[0255] Procedure 570: For each class, the utility U is calculated as$U_{c} = {{k_{5}A_{c}S_{c}} + {k_{6}{\sum\limits_{s \in {classc}}Y_{sc}}} - {k_{7}{\sum\limits_{s \in {classc}}c_{stm}}} - {k_{8}{\sum\limits_{s \in {classc}}e_{sm}}}}$

[0256] (In this case, the readiness of students to be tutored in thesubject matter is considered as a negative influence on class utility.)Again, the constants k₅-k₈ are typically set to nonzero valuesdetermined by the overall priority to be accorded the factors they areassociated with in the determination of the utility U.

[0257] Procedure 580: The program performs one of several possible“shift” operations:

[0258] (1) Assigns student s₁ to tutor student s₂ (both from the pool ofunassigned tutor/tutee students) in module m, based on the values of R,e, and u for the pairing in question.

[0259] (2) Moves student s₁, already assigned to a class, into thetutor/tutee pool as either a tutor (guided by e, u, R, and U), or atutee (guided by e, u, and U) paired with a student currently in theunassigned pool.

[0260] (3) Moves student s₁, in the unassigned pool, to a class, guidedby similar considerations to operation (2).

[0261] (4) Breaks up a class c, based on consideration of the utility Uof the class versus the need for supervision of the currently assignedtutor/tutee pairs. All students formerly in the class then go into theunassigned pool, to be later assigned either to a tutoring pair or toanother class.

[0262] (5) Shifts students from class c₁ to class c₂, in order toincrease U_(c1)+U_(c2) and/or because r_(sm) for m₂ is greater thanr_(sm) for m₁.

[0263] Procedure 590: The program checks whether there remain anystudents over and above a predetermined maximum residual number who havenot been assigned to either a class or a tutoring pair, and whethersufficient teachers are provided to supervise the tutoring. If there aresufficient teachers and no residual students, the algorithm terminates.Otherwise, control is returned to Procedure 580. Because operations(1)-(3) in Procedure 580 all result in a decrease in the number ofunassigned students, and operation (4) will only be carried out alimited number of times (perhaps until a predetermined fraction of thestudents are involved in tutoring), the algorithm will eventuallyterminate.

[0264] Reference is now made to FIG. 6, which is a simplified flow-chartof an additional set of enhanced procedures for assigning students andteachers to classes, in accordance with an embodiment of the presentinvention.

[0265] Procedure 610: The program accesses the educational resource datastored on data storage device 16, including the curriculum information,the teacher information, and the student information.

[0266] Procedure 620: The program computes, for each student, therelative benefit R he/she would derive from studying each module, basedupon the parameters r, w, p, and e. For example, we might setR_(sm)=k₁r_(sm)w_(m)p_(sm)−k₂e_(sm). As discussed in connection with theprevious procedure (steps 510-590) above, the constants k are chosenbased on the priorities accorded the factors they are connected with aswell as considerations of overall balance.

[0267] Procedure 630: The program assigns each student to a class in themodule for which his/her R value as computed in Procedure 620 isgreatest. There is no minimum size to form a class, but once a class ina module has more than the maximum permitted class size, an additionalclass in that module is created.

[0268] Procedure 640: For each class, the utility U is calculated as$U_{c} = {{k_{3}A_{c}S_{c}} + {k_{4}{\sum\limits_{s \in {classc}}Y_{sc}}} - {k_{4}{\sum\limits_{s \in {classc}}{e_{sm}.}}}}$

[0269] Note that here, the readiness of students to be tutored in thesubject matter is considered as a negative influence on class utility.Again, the constants are chosen based on priority and the need tobalance them with the other constant values present in the algorithm.

[0270] Procedure 650: Enough of the classes with the lowest U values ascalculated in Procedure 650 are discarded so that the number ofremaining classes matches the number of teachers available.

[0271] Procedure 660: For each class, the program computes the qualityof instruction Q that each teacher t could potentially provide, based onboth that teacher's suitability to teach the designated module and hishistory with each of the students in the class:$Q_{ct} = {i_{tm}{\sum\limits_{s \in c}^{\quad}{c_{stm}.}}}$

[0272] Procedure 670: Utilizing linear programming or a relatedtechnique known in the art, the program assigns teachers to classes insuch a way as to maximize the sum of the Q's computed in Procedure 660for the chosen pairings.

[0273] Procedure 680: Optionally, the program recalculates the utilityvalues U for all the classes, and performs iterative adjustments as inProcedures 570-590 above.

[0274] Reference is now made to FIG. 7, which is a simplified flow-chartof yet another set of enhanced procedures for assigning students andteachers to classes, in accordance with an embodiment of the presentinvention.

[0275] Procedure 710: The program accesses the educational resource datastored on data storage device 16, including the curriculum information,the teacher information, and the student information.

[0276] Procedure 720: An assignment function a(s,m,t) is defined basedon the assignment of student s to module m with teacher t. In everycase, the function takes on either the value 0 or the value 1, with 1reflecting assignment and 0 reflecting non-assignment. A second versionof the assignment function is defined, also written using a, butdistinguished by its arguments, for example, a(s₁,m,s₂)=the assignmentof student s₁ to module m tutored by student s₂. These assignments aresubject to various constraints, for example, the fact that a student isassigned to only one class or tutoring session is represented by theconstraint${{{\sum\limits_{t,m}{a\left( {s_{0},m,t} \right)}} + {\sum\limits_{s,m}{a\left( {s_{0},m,s} \right)}}} = 1},$

[0277] and the fact that a class should have about I members ideally isrepresented by the constraint${\sum\limits_{s,m}{a\left( {s,m,t_{0}} \right)}} \approx {I.}$

[0278] Similar constraints may be laid on the tutoring assignmentfunction. In addition, separate assignment functions are defined forpairs such that a(s, m, t)=a(s, t)·a(s, m)·a(m, t). Additionalconstraints are specified on the pair functions:${\sum\limits_{m}{a\left( {m,t_{0}} \right)}} = 1$

[0279] requires that a teacher teach one module at a time, and${\sum\limits_{s}{a\left( {s,m_{0}} \right)}} \approx J$

[0280] constrains the number of students studying a particular module tobe approximately equal to the number J that may relate to the number ofteachers available (e.g., for specialties like art, music, or shop).

[0281] Procedure 730: An energy function (also known as an objective orpotential function) is defined containing a term for each parameter inTable 1 above, for example: $\begin{matrix}{{H(a)} = {{k_{1}{\sum\limits_{s,m,t}{{a\left( {s,m,t} \right)}\left( {r_{sm} - c_{1}} \right)}}} +}} \\{{{k_{2}{\sum\limits_{s_{1},m,s_{2}}{{a\left( {s_{1},m,s_{2}} \right)}\left( {e_{s_{1}m} - c_{2}} \right)\left( {u_{s_{2}m} - c_{3}} \right)}}} + \ldots +}} \\{{{k_{6}{\sum\limits_{s,m,t}{{a\left( {s,m,t} \right)}\left( {c_{stm} - c_{7}} \right)}}} +}} \\{{{k_{7}{\sum\limits_{i,j}\left( {{R\left( \left\{ {{s:{a\left( {s,m_{i},t_{j}} \right)}} = 1} \right\} \right)} - c_{8}} \right)}} + \ldots}}\end{matrix}$

[0282] The constants (here labeled by both k₁-k₇ and c₁-c₈) are againset based on priority and the benefit of balance, as described inconnection with the previous two procedures (steps 510-590 and steps610-680) above.

[0283] Procedure 740: The program optimizes H by one of several standardtechniques known in the art. For example, gradient descent could beapplied: at first, most of the constraints could be loosely enforced(soft constraints), and a could be allowed to vary continuously ratherthan just taking values 0 and 1. Progressively, the constraints(including restriction on the values of a) could be enforced morestrongly as a solution is reached. In another case, a simulatedannealing approach could be applied: starting from an initial randomassignment, single shifts in the assignments a could be performed, withthe effects on H calculated and used to determine whether to accept theshifts; shifts that degraded rather than improved H would be acceptedrelatively frequently at first, then gradually less frequently as asolution is approached.

[0284] It will be understood by one skilled in the art that theabove-described algorithms may not always achieve a perfect result. Inparticular, the nature of the constraints in a particular situation maybe that the satisfaction of one implies the violation of one or moreothers, and that the algorithm computes a trade-off based on therelative weight given to the different factors according to theconstants. Furthermore, it will be appreciated that variation in themanner in which the initial parameter values are calculated may allowfor the implementation of different priorities for the schedulingprocess. For example, if part of a module definition included thespecification of one of several possible teaching styles (so that asingle chunk of educational material is represented for the purposes ofthe algorithm as several distinct modules differing in how they are tobe taught), the r_(sm) parameter could incorporate a measure of thestudent's affinity for the various teaching styles (determined, perhaps,from past performance), and the resulting schedules could be partlydetermined based on matching teaching style to preferred learning style.

[0285] It will be understood by one skilled in the art that aspects ofthe present invention described hereinabove can be embodied in acomputer running software, and that the software can be supplied andstored in tangible media, e.g., hard disks, floppy disks or compactdisks, or in intangible media, e.g., in an electronic memory, or on anetwork such as the Internet. It will also be appreciated that the inputof data as well as the output of schedules and other computationalproducts may be effected by means of peripheral devices, such askeyboards, telephones, automated telephone or telephone menu systems,personal digital assistants (PDAs), beepers, pagers, or other electronicmessaging devices, video screens, printers and the like, as well as bythe utilization of “Web” browsers (including associated plug-ins andsimilar software) or any other Internet interface, as are known in theart. In particular, schedules for students and teachers, and student andteacher inputs, may be delivered through a variety of mechanisms (suchas through Web browsers, hard copies, phone systems, pagers, andpersonal digital assistants), for the convenience of the students andteachers.

[0286] It will be appreciated that the various embodiments of thepresent invention are not limited to a teaching format that places asingle teacher in front of a group of students in a physical classroom.Many other formats are included within the scope of the presentinvention. For example, a class could be scheduled to occur in adistance learning format, such as an on-line classroom, including videoconferencing, chat rooms, email lists, on-line slide shows, and thelike. Similarly, assessments, including homework and exams, may beconducted in the on-line environment. In accordance with a preferredembodiment of the present invention, each teaching format may beaccorded an identifier in database 16 and associated with variousmodules, and data could be obtained reflecting the relativeeffectiveness of the different formats, based on student and teacherfeedback and assessment information. Part of the optimization of acourse of study could involve spreading out modules in the mostefficient manner possible over the variety of different environmentsavailable. The expense of each format may also be taken into account, sothat, for example, a country (or a particular educational institution)with fewer financial resources and computing infrastructure may restrictits students to human-to-human instruction, whereas a country orinstitution with greater infrastructure and resources may make itpossible for many of its modules to be presented in online or otherformats. In blended approaches, for example, student may end up spendingpart of the week in traditional classes, part in online classes, andpart in job apprenticeship experiences.

[0287] In accordance with a preferred embodiment of the presentinvention, the various types of constraints and optimizations performedby the algorithm, such as meeting teacher or student preferences, willbe displayed on administrator screens to allow control thereof by theadministration (or teaching staff, or others) of the educationalinstitution. Moreover, the administration will preferably be able tomodify the different parameters to be optimized, or choose some andnegate others. In this manner, the administration will have directinfluence and control over how the scheduling algorithms optimize thevarious parameters, and therefore over what types of schedules areproduced.

[0288] Alternatively or additionally, the administration's inputs to thescheduling algorithms may be entered as hard constraints or preferredspecific goals. For example, the administration may specify appropriateinputs to the scheduling algorithms, such as what percentage of anaverage student's day should be scheduled in a tutoring session, or whatpercentage of a given teacher's week should include training or beingtrained. Similarly, an input parameter may specify that most studentsshould spend approximately an equal amount of time as tutors and astutees.

[0289] Preferably, the administration will be able to readily generatemany different scheduling “templates,” with different priorities,constraints, goals, or other input parameters, save these templates inspecial file formats for recall later, and compare the differentschedules that are produced based on the contents of each template.Thus, for example, the administrators may specify a range of templateparameters including a maximum physical age difference to be permittedin classes or tutoring sessions, and specific constraints for tutoringsessions (such as whether younger students should be permitted to tutorolder students, and if yes, by how much younger; or whether cross-gendertutoring sessions are permitted). The scheduling algorithms, in turn,will create classes and tutoring sessions which meet the constraints ofeach template, sacrificing (if necessary) whatever degree ofoptimization of other parameters is necessary or expedient in order todo so. In this manner, the administrators are able to review the effectsof the designated input parameters on other factors, such as teacherworkload, or the overall percentage of students' time assigned to studyhalls. In turn, the administrators can evaluate, essentially in realtime, the effects of the various scheduling compromises inherent in eachtemplate. For example, it may be determined that decreasing the maximumallowable class size for students with learning disabilities from twelveto nine can be most easily achieved by increasing by 50% the maximumallowed time that students need for travel between classrooms.

[0290] In a preferred embodiment of the present invention, queries canbe entered into the scheduling program, such as: What single inputparameters or combinations of parameters can be changed so as to producea particular change in a generated schedule. Answers to the query mayreveal, for example, that allowing competent younger students to tutorolder students will allow average class size to be reduced by 10%,without increasing the number of students in study halls.

[0291] Typically, administrative decisions and queries will be enteredin a graphical user interface. However, they may be similarly entered inany other manner known in the art, such as through a command-line basedsystem, through a transmitted file, through a scanned-in paperinterface, or through a phone system interface.

[0292] In accordance with a preferred embodiment of the presentinvention, the students and teachers at a large educational institution(or even a smaller one) may be sub-divided into two or more separate“academies” or “learning communities.” In such an event, each of theacademies may have its own set of modules, which may be ‘weighted,” asexplained above, in accordance with the specific needs or goals of eachof the academies. For example, in a high school, one academy could focusmore of its modules, (or provide more emphasis within the same set ofmodules, on the humanities, while another could focus more heavily onmath and science. In general, the program would schedule the studentsfrom one academy with the teachers from that academy, although studentsmay be assigned, as appropriate, to classes with teachers from anotheracademy. This small “learning community” embodiment of the inventioncould be combined with the tutoring elements of the invention to brokerlearning exchanges between the academies. For example, students from amath and science academy would tutor students from a humanities academyin math and science, and students from a humanities academy would tutorstudents from a math and science academy in English, history, andforeign languages. The actual module definitions (includingsuper-modules), weights assigned to the modules, special educationcodings for modules, and the like could be formally defined for eachacademy in a template as indicated below.

[0293] In a preferred embodiment of the invention, a template may bedefined based on the particular pedagogical approach of an educationalinstitution (or for several approaches within the institution, if asmall learning community model is used). However, although the templatemay represent a particular pedagogical approach overall, the templatewould be highly and specifically technically defined within theparameters of the invention, so as to be readily re-usable. The templatepreferably includes specific numbers representative of such informationas:

[0294] A_(c), S_(c), k_(i), and other constants and parameters describedherein which typically are not specific to particular students orteachers, and therefore generally guide the overall functioning of thescheduling program,

[0295] the definitions of the curricular modules,

[0296] threshold passing grades,

[0297] prerequisite requirements for taking any module,

[0298] the dependency relationships between the modules,

[0299] the importance assigned to various modules through weights (e.g.,to reflect the centrality of the modules to the core curriculum of theinstitution),

[0300] connection strengths between the modules (which indicate howimportant it is that they follow one another in sequence withoutsignificant time gaps therebetween),

[0301] the various formats for the modules (such as human-to-human oronline),

[0302] preferred locations for teaching the modules and preferredequipment associated therewith,

[0303] learning disabilities coding of the modules (including, forexample, (a) in which modules students with different learningdisabilities of varying degrees may be mixed with mainstream studentsand with each other, and (b) for each module, the maximum number ofstudents who can participate in a class if a student with a particulardisability is present),

[0304] super-module definitions,

[0305] lesson plans associated with particular modules or super-modules,

[0306] particular language(s) of instruction (including, for example,which modules may be used to mix native and non-native speakers),

[0307] learning, teaching, and assessment styles associated withparticular modules,

[0308] how much of students' schedules should include tutoring,

[0309] how heavily the scheduler should consider teacher preferences,

[0310] how heavily the scheduler should consider student preferences,

[0311] the maximum age differences permitted in classes or tutoring(either in general or defined for each module), and

[0312] all of the various different types of information as described inthis patent application, as appropriate.

[0313] Such a template could then be made available for use by othereducational institutions, which could also modify it and adapt it totheir specific needs. The template would provide a concise way for aneducational institution to specify and transmit to others itspedagogical approach, and could serve as an efficient means forfacilitating the widespread implementation of some embodiments of thepresent invention. The templates may be published, for example, on theWorld Wide Web, or transmitted in a variety of other electronic orprinted formats.

[0314] The power of such templates would be particularly noteworthy,because they provide a highly precise and explicit definition of thepedagogical priorities and approach of an educational institution, in aformat that is quickly and readily re-used and modified by othereducational institutions across the world. For example, if a school thatfocused largely on learning disabled children worked out a highlysuccessful template based on an educational model including thefollowing elements:

[0315] (a) defining which modules are amenable for mixing in one classlearning disabled students of certain categories and degrees ofdisability with mainstream students and with each other,

[0316] (b) defining what and how much teacher training is needed foreach module, with respect to each learning disability category, and

[0317] (c) defining how the schedule should prioritize fulfilling thevarious constraints (and when to make compromises),

[0318] then the school could share that knowledge with others byexporting their template. Other educational institutions could then makeuse of all or part of the template for the benefit of their students.They could, for example, simply download the template off the World WideWeb for themselves, and modify or choose from it accordingly.

[0319] In another example, templates developed within the culture of acountry that emphasizes individual choice may have their student choiceparameters set at a much higher priority than templates developed withinthe culture of another country that emphasizes top-down control.Similarly, a school that emphasizes proficiency in the sciences may setthe requirement for a student to be considered to have fulfilled a mathprerequisite to be higher than in a school for the arts.

[0320] In a preferred embodiment of the invention, a textbook templateis provided, representing a core set of modules taught with moststandard (or even non-standard) textbooks. So, for example, a corecurriculum for an American K-12 school system could be developed whichdescribes each module, indicates the dependency relationships betweenthe modules, and specifies, for each module, the page numbers in varioustextbooks where the content of the module is taught. Preferably, aschool administrator would be enabled to enter the names of textbooksowned by the school into a software program provided by this embodiment,and the program would be operative to display the page numbers fromthese textbooks which pertain to each of the modules, and to input thatinformation into the database for use by the scheduler.

[0321] For some applications, the program is additionally enabled totrack in data storage device 16 the specific textbook resources of theeducational institution, and, for example, provide a listing of how manyof each textbook the educational institution owns. Preferably, thescheduling algorithms would be operative to schedule modules based onthe number of available textbooks, so that students can check out thetextbooks in advance in an orderly fashion.

[0322] Similarly, the scheduler would preferably also be operative toschedule modules that require special equipment or facilities inaccordance with the availability thereof. So, for example, if certainchemistry modules must be taught in particular classrooms havingappropriate laboratory equipment, the scheduler would be operative toonly schedule those modules in such classrooms. In another example, amodule may be taught in a computer lab and use a computer-assistedinstruction multimedia CD-ROM program. In these cases, the schedulerwould be operative to place in the lab at any given time only as manystudents as there are available CD-ROM programs and computers needed torun them.

[0323] In accordance with a preferred embodiment, the modules of aneducational institution may be coded according to a range of learningstyles and/or teaching styles. For example, the material in a particularchapter in a chemistry textbook could be represented in its entirety inthree different modules, directed respectively to lecture, laboratory,or library research formats. Typically, students and teachers will bemaximally effective in the format most closely reflecting their ownindividual styles. Similarly, some high school teachers and students mayprefer an informal classroom, in which the students do group projectsand call the teachers by first name, while other teachers and studentsmay flourish in a more traditional atmosphere.

[0324] Although the science of assessing student learning styles is tosome extent imprecise, there are powerful proponents of this concept inthe educational community, and, it is believed that considerableadvantage can be obtained through establishing certain modules inaccordance therewith. In general, one teaching style may be defined fora given learning style; however, one teaching style may also beappropriate to several learning styles, or one learning style may beappropriate to several different teaching styles. Preferably, teacherswould indicate which teaching styles they prefer or for which they haveappropriate training (either in general or for particular modules), andstudents would indicate—or be assessed by suitable diagnostic methods todetermine—which learning styles are most appropriate or enjoyable forthem.

[0325] In an advanced embodiment of the invention, students couldindicate or be assigned different learning styles for different subjectareas or even for specific modules within a subject area. The programwould then optimize placing students with a certain learning style(either in general, or in particular subjects or modules) with teacherswhose teaching style (either in general, or in particular subjects ormodules) matches the students' learning style. It will be appreciatedthat there are many ways to associate learning styles and teachingstyles (one-to-one, many-to-one, many-to-many, etc.) and all are withinthe scope of the present invention. In a preferred embodiment, learningstyles and teaching styles are matched one-to-one, i.e., one teachingstyle is matched to each learning style.

[0326] It is noted that because teacher-student rapport is often animportant factor in educational success, the scheduling algorithm ispreferably programmable so as to emphasize placing students with thesame teachers, particularly if they have had success in the past withthose teachers. Applications of the present invention for use with smalllearning communities, for example, typically naturally associate a groupof teachers with the sub-groups of students that make up a mini-academy,so that the students can develop and profit from an ongoing relationshipwith their teachers. Alternatively, the scheduling algorithm may producea similar effect by applying a bias towards keeping particular teacherstogether with particular students over time. Determining which teachersget priority for certain students could be based on student feedbackmechanisms, such as written, electronic, or oral input indicating whichteachers they feel are best for them and which they prefer. For K-12students, parental feedback may be accepted, as well. Typically,teachers indicate in a similar fashion which students they feel they canimpact the most.

[0327] Alternatively or additionally, the feedback data may be obtaineddirectly from assessment information collected during or followingcompletion of a module, to allow comparative analyses to be performedover time in order to determine which students improve the most withwhich teachers. In turn, students are preferably assigned to classestaught by those teachers with whom they have improved the most in thepast. Alternatively, the assignment of students to particular teachersmay be essentially random, in situations in which it is believed that itis better to have students spend more time with a teacher or with asmall group of teachers than to be assigned to a large number ofteachers in the educational institution.

[0328] Regardless of the specific mechanism for choosing which studentsshould be placed more often with which teachers, the schedulerpreferably implements that choice by putting a “stickiness” factorZ_(st) into its calculations, which provides a bias towards schedulingstudent s with teacher t. In this manner, students will find themselvesmore often placed with a given teacher over their time at an educationalinstitution, and therefore will have a better chance of developingcloser rapport with their teachers. If appropriate, the stickinessfactor can be defined as Z_(t), representing the extent to which it isdesirable that teacher t teaches the same students, or the stickinessfactor can be defined as Z_(s), representing the extent to which students would tend to benefit from being in classes generally with the sameteachers.

[0329] It will also be appreciated that the various embodiments of thepresent invention can be combined in various ways, as illustrated in thefollowing (non-limiting) examples, so as to maximize the inherent powerand flexibility provided by aspects of the invention:

[0330] (a) The assigning of tutor-tutee pairs may be effectivelycombined with the weighting of the curricular modules so as to placestudents in tutoring pairs more often in the core modules than others.

[0331] (b) The data concerning assessments of students in modules havingmultiple teaching formats (such as on-line and traditional) can beanalyzed so as to determine which format produces superior results.Based on this analysis, the program may be operative to preferentiallyschedule classes for these modules in the format producing the superiorresults.

[0332] (c) The scheduling of tutor-pairs may be used together with thedata concerning teacher competency to enhance the opportunities forteacher retraining by the teaching staff of the educational institutionitself. Thus, teachers who have been determined to be “master teachers”(based upon past teacher performance with students) may be scheduled toteach a class for other teachers in how to teach a particular module.Similarly, a teacher who requires training in a particular module may beassigned to observe a master teacher teaching a class of students inthat module, or the master teacher may be assigned as an observer of aclass in that module taught by another teacher who has not beensuccessful in the past in teaching that module (based on studentassessment data).

[0333] This “in-house” retraining of teachers may be implemented on alarger scale when the percentage of students tutoring one another isincreased, thereby freeing up the teaching staff to be scheduled fortraining sessions. So, for example, an educational institution thatrequires a greater than average amount of teacher retraining could adopta strategy (and build a template to promote that strategy among othereducational institutions) such as the following:

[0334] focus the students initially on mastering a relatively limitedset of “core of the core” modules (the most-heavily weighted modules);

[0335] as students gain expertise in those modules, assign them astutors of each other as much as possible;

[0336] use the relatively high level of student tutoring to free up thebest trained educational staff to teach the rest of the staff newteaching techniques in more modules; and

[0337] once the staff are better trained, shift the focus of theeducational institution towards the wider set of modules the teachersnow feel capable of teaching well.

[0338] (d) The definition of an “educational institution” may beextended to include a community of families who help one another toeducate their children at home. The parents involved could indicatethrough a Web interface or some other means which modules they arecapable of supervising, which modules they are capable of teaching (andtheir formats), when they are available for phone calls, for havingother children over at their homes, for visiting other homes, etc. Theprogram would be operative to coordinate the teaching activities of themembers of the community in order to better educate the children of thecommunity within the constraints and boundaries set by parents, e.g.,who should be permitted to help educate their children. It is noted thatexamples of class formats and preferred teaching styles include having aparent who has a good grasp of the content of a module available bytelephone during hours specified by the parent. Similarly, acommunity-based home-schooling class style scheduled in accordance witha preferred embodiment of the present invention could include aconference call that facilitates a group tutoring session including aparent with several children.

[0339] (e) Features of the invention may be employed to enhance specialeducation, by permitting students with disabilities to be partiallyhome-schooled by parents while attending more traditional classes withother students (both non-disabled students and students with the same ordifferent disabilities).

[0340] (f) Aspects of the present invention will enable enhancedcoordination between different levels of educational institutions. Forexample, high schools will be able to generate specialized transcriptsthat define student strengths and weaknesses at the module level, aswell as at the traditional semester or quarterly length course level,thereby providing a better indication for the placement of the studentswhen they enroll in college. In addition, by associating a set ofmodules with a traditional course, and averaging grades in anappropriate manner (such as in a weighted average manner, where themodules within the course that constitute a greater percentage of itscontent account for a greater percentage of the course's grade), highschools will be able to generate traditional transcripts for theirstudents.

[0341] Modules may also be associated on a transcript in groupings thatdiffer from traditional course make-ups. For example, a college physicsdepartment could analyze the module assessments of a high school studentacross the specific math and physics modules deemed most relevant forsuccess in the college physics program. In another example, a studenttransferring between two junior high schools would have a transcriptwhich would provide the new school with detail about hismodule-by-module mastery of the curriculum. It is noted that thisability is not easily obtainable using the tools of the prior art. Thenew school (employing software provided in accordance with an embodimentof the invention) could take advantage of the information in thetranscript by using the scheduling program's dynamic schedulingcapability to, for example, focus studies in the student's weak areas,or continue to challenge him in strong areas.

[0342] (g) Scheduling algorithms operating in two or more educationalinstitutions can cooperate with each other at a level not currentlyfeasible using scheduling tools known in the art. For example, oneeducational institution with a math-science focus may offer its studentsas tutors in math and science in an exchange with another educationalinstitution, which has a humanities focus, which would offer itsstudents as tutors in English, history, and foreign language modules.The educational institutions would specify in which formats theirstudents are available to tutor (e.g., as in-person, telephone, or videotutors), and the scheduler would be operative to meet the constraintsimposed on it by the educational institutions.

[0343] In this manner, two educational institutions in the samegeographic area may broker live human-to-human tutoring sessions at oneor both of their institutions, whereas two educational institutions 2500miles away from each other may broker phone tutoring sessions. Inanother example, a particular school district may arrange for a famousspeaker to addresses the majority of the students enrolled in thevarious educational institutions within the district on a particulartopic. While this event is taking place, many of the teachers could bescheduled to tutor other students individually in modules in which theyrequire special attention. Similarly, an entire consortium of schools(such as a state university system, which may include tens of colleges)could cooperate in a like manner. Each institution could indicate whatresources it can offer to the others, and the scheduler would beoperative to enable schools to combine their resources while respectingtheir constraints. So, for example, one college may have a celebratedchemistry lecturer, whose lectures are conducted online (for all but thehost college) across the state university system. Another college maycontribute a number of phone tutors in the same course, who areavailable for tutoring sessions with either individual students orgroups of students (via phone conferences) in any participatinginstitution. In a preferred embodiment of the invention, a feedbackmechanism is provided to indicate how much resources each educationalinstitution is providing, so that the colleges could ensure generalfairness across the system.

[0344] (h) The scheduling algorithms may be operative to schedulemodules in accordance with a particular general scheduling technique,such as Block Scheduling. Block Scheduling is a recently popularmovement that replaces traditional single-period scheduling withalternative block schedules, which often spread a class out in longerperiods on one day, over fewer days in the week. (See, for example, thebook entitled Block Scheduling, A Catalyst for Change in High Schools,by Robert Lynn Canady and Michael D. Rettig, 1995, Eye on Education,Inc.). There are effectively an unlimited number of ways to blockschedule a large school, and in accordance with a preferred embodimentof the invention, the scheduling algorithm is operative to schedule atleast some of the modules in conformity with a given set of blockscheduling constraints indicated by the school.

[0345] It will be appreciated that most preferred embodiments of theinvention will not generally optimize across every possible variable andfeature at once, but rather that each educational institution willchoose the feature(s) that are most important to it. For example, mosteducational institutions will use preferred embodiments of the inventionthat limit the number of module durations to a relatively small number,for easier scheduling. Since it is generally important that theschedules be generated in a timely fashion, the scheduling algorithmwill preferably limit the computational time spent on finding asolution, accepting the level of optimization that is computable withina reasonable time frame. The typical amount of optimization performedwill tend to increase as computing power becomes more inexpensive andfast (and indeed, massively parallel machines may be employed forserver(s) 12 to make the computation as fast as possible). Somepreferred embodiments of the invention will generally be implemented ina manner that restricts the educational institution to a feature set, ora level of optimization, that permits the generation of schedules to bedone in a reasonably fast manner, or that permits the educationalinstitution to choose the feature set and level of optimization thatbest meet its needs.

[0346] In a preferred embodiment of the present invention, a schedulingalgorithm is operated by a teacher within a classroom to divide thestudents within the classroom into sub-groups which are able to engagein various educational activities. Preferably, this in-class schedulingalgorithm has access to records indicative of each student's mastery ofa range of modules, and divides the class into groups responsivethereto. Once the students have been divided, the teacher can teach eachgroup individually, leaving the groups not currently being taught towork on group projects or self-study. As appropriate, techniquesdescribed hereinabove for scheduling a large number of classes within aschool may be adapted for use with this embodiment of the invention.

[0347] It will be appreciated that the various features described hereinwill enable educational institutions to optimize their use of theirresources, thereby raising their level of performance for the benefit ofboth teachers and students. The flexibility inherent in theseembodiments of the invention preferably allows a customized fit for theneeds of a wide variety of educational institutions, includingelementary, junior and senior high schools, home schooling, colleges anduniversities, graduate schools, vocational and job trainingenvironments, and the like. Each educational institution or environmentmay be fitted with a solution that caters to its primary needs—whetherthey be enhanced student preference, enhanced teacher preference,increased teacher re-training, smaller class size, integratingnon-native speaking students, integrating learning disabled students,fitting learning styles to teaching styles optimally, etc.

[0348] Advantageously, and unlike many computer education packages whichare commercially available, many embodiments of the present inventionare fully functional substantially without requiring any purchases ofnew hardware by the educational institution. Thus, these embodimentsgenerally do not require students to have access to a computer or even aschool computer room.

[0349] It is noted that the optimizations performed in accordance withsome preferred embodiments of the present invention are typicallyperformed with respect to numerical optimization parameters whichreflect a particular educational focus of a given school, e.g., theimportance (0-100) of integrating disabled students into classes withthe rest of the student body, or the importance (0-100) of placingemphasis in scheduling on facilitating peer tutoring. Prior artscheduling algorithms, by contrast, typically operate under constraintsgoverned only indirectly (if at all) by the particular educational focusof the school. Thus, for example, they may guarantee that a teacher willnot have to move between campuses twice in a day, or they may limitclass sizes to a manageable number.

[0350] Persons skilled in the art will appreciate that the presentinvention is not limited to what has been particularly shown anddescribed hereinabove. Rather, the scope of the present inventionincludes both combinations and subsets of combinations of the variousfeatures described hereinabove, as well as variations and modificationsthereof, which would occur to persons skilled in the art upon readingthe foregoing description.

[0351] Sample Results

[0352] Three different sets of sample results, all from Computer CodeExample 2, are included in the attached printout “Sample Results”. Theyare also included in MS-Word format in the two CDs that were submittedwith this patent application in the file “Sample Results 1, 2, and 3”.Those sample results are summarized below.

[0353] Sample Results 1

[0354] Algorithm Aggregate

[0355] Output from Procedures 610-680 as described in FIG. 6 andimplemented in Computer Code Example 2. Includes separate computer coderuns for small, medium, and large schools.

[0356] Sample Results 2

[0357] Aggregate Incremental

[0358] Output from Procedures 510-590 as described in FIG. 5 andimplemented in Computer Code Example 2.

[0359] Includes separate computer code runs for small, medium, and largeschools.

[0360] Sample Results 3

[0361] Schedules over a period of several weeks generated using ComputerCode Example 2. These schedules were generated using the multi-periodscheduling functionality in Computer Code Example 2.

1. A method for automatically producing a schedule of classes for aneducational institution having a plurality of teachers, a plurality ofstudents, and a curriculum, the method comprising providing a computeralgorithm adapted for: receiving, as an input into a computer system,designations of a plurality of curriculum modules of the curriculum,each curriculum module including educational material, one or more ofthe curriculum modules being prerequisite modules for one or moresubsequent modules; receiving, as an input into the computer system,curriculum information comprising an indication of which of the modulesare prerequisite modules for subsequent modules; receiving, as an inputinto the computer system, student information comprising, for two ormore of the plurality of students, indications of their levels ofcompetence with respect to the educational material of one or moremodules; and producing, by the computer system, a schedule of classesfor teaching the educational material of at least some of the modulesresponsive to the curriculum information and the student information,wherein educational material to be taught in each of the scheduledclasses comprises the educational material of a respective one of thecurriculum modules, and wherein the students assigned to each of thescheduled classes have attained at least a predetermined level ofcompetence with respect to the educational material of the respectivemodules that are prerequisite modules for the module to be taught in theclass.
 2. A method according to claim 1, wherein receiving the studentinformation comprises receiving an indication of prior success one ormore of the students has had with one or more of the teachers.
 3. Amethod according to claim 1, wherein receiving the curriculuminformation comprises receiving, for at least some of the curriculummodules, one or more formats in which the module may be taught.
 4. Amethod according to claim 1, wherein producing the schedule comprises:determining that one of the students has attained at least a first levelof mastery of a first one of the prerequisite modules; determining thatthe one of the students has attained at least a second level of masteryof a second one of the prerequisite modules, the second level beingdifferent from the first level; and scheduling the one of the studentsto take a class responsive to the one of the students having attainedthe first and second levels of mastery in the first and secondprerequisite modules, respectively.
 5. A method according to claim 1,wherein producing the schedule comprises receiving an input indicativeof a desired percentage of students to be involved in tutoring sessions.6. A method according to claim 1, wherein producing the schedule ofclasses comprises determining when a student has failed to attain adesired level of mastery of a module and subsequently assigning thestudent to study the educational material in the module in a classconfigured to facilitate the student to attain the desired level ofmastery.
 7. A method according to claim 1, wherein producing theschedule of classes comprises receiving a first scheduling request andgenerating a tentative schedule responsive thereto, and, subsequently,receiving a second scheduling request and generating a tentativeschedule responsive thereto.
 8. A method according to claim 1, andcomprising receiving an assessment of a student's performance in one ormore modules taught by a particular person, wherein producing theschedule of classes comprises preferentially assigning the student to betaught by the person if the assessment is positive, and inhibitingassigning the student to be taught by the person if the assessment isnegative.
 9. A method according to claim 1, and comprising receiving, asan input into the computer system, an indication for one or more of themodules of a number of textbooks pertaining thereto which are availableto the institution, wherein producing the schedule comprises schedulingclasses to teach the educational material in the one or more modulesresponsive to the number of available textbooks.
 10. A method accordingto any one of claims 1-9, wherein receiving the student informationcomprises receiving a designation for giving priority to scheduling oneor more of the students selected from the plurality of students, andwherein producing the schedule comprises producing the scheduleresponsive to the designation.
 11. A method according to claim 10,wherein receiving the designation comprises receiving the designationwith respect to students having a disability.
 12. A method according toany one of claims 1-9, wherein receiving the designations of theplurality of curriculum modules comprises receiving, for at least someof the modules, an indication of the relative importance of the moduleto the curriculum, and wherein producing the schedule comprisesproducing the schedule responsive to the indication of importance.
 13. Amethod according to claim 12, wherein producing the schedule responsiveto the indication of importance comprises designating a relatively highlevel of competence to be attained by at least some students inprerequisite modules for a module having a relatively high importance tothe curriculum, and designating a relatively low level of competence tobe attained by the at least some students in prerequisite modules for amodule having a relatively low importance to the curriculum.
 14. Amethod according to any one of 1-9, and comprising receiving anadministrative instruction as an input into the computer system, whichdesignates for students in a first category a first level of competencewith respect to the educational material of at least one module that isprerequisite for a module to be taught in a class, and which designatesfor students in a second category a second level of competence withrespect to the educational material of the at least one module, thesecond level being different from the first level, wherein producing theschedules of classes comprises producing the schedule responsive to theadministrative instruction.
 15. A method according to claim 14, whereinreceiving the administrative instruction comprises receiving withrespect to two or more of the modules, each having prerequisite modulesassociated therewith, an instruction that students in the first andsecond categories demonstrate different levels of competence in order toparticipate in classes teaching the two or more modules.
 16. A methodaccording to any one of claims 1-9, and comprising receiving, as aninput into the computer system, teacher information comprising, for atleast some of the plurality of teachers, an indication of a suitabilityof the teacher to teach one or more of the modules, wherein producingthe schedule of classes comprises producing the schedule of classesresponsive to the teacher information.
 17. A method according to claim16, wherein receiving the teacher information comprises receiving, forat least some of the plurality of teachers, an indication of apreference of the teacher to teach one or more of the modules.
 18. Amethod according any one of claims 1-9, wherein receiving the studentinformation comprises receiving, for at least one of the students, anindication of a learning disability of the student, and whereinproducing the schedule comprises producing the schedule responsive tothe learning disability.
 19. A method according to claim 18, whereinreceiving the teacher information comprises receiving an indication ofone or more of the teachers who have specialized training to teachstudents with the learning disability, and wherein producing theschedule comprises preferentially assigning the one or more of theteachers with the specialized training to teach a student with thelearning disability.
 20. A method for automatically producing a scheduleof classes for an educational institution having a plurality ofteachers, a plurality of students, and a curriculum, the methodcomprising providing a computer algorithm adapted for: receiving, as aninput into a computer system, designations of a plurality of curriculummodules of the curriculum, each curriculum module including educationalmaterial; receiving, as an input into the computer system, studentinformation comprising, for a first student, a second student, a thirdstudent, and a fourth student selected from the plurality of students,respective indications of their levels of competence with respect to theeducational material of one or more modules; scheduling a class to teachone of the modules, taught by one of the teachers, for the first studentand the second student, responsive to the indications of the levels ofcompetence of the first and second students; and scheduling a tutoringsession to teach the one of the modules, in which the third student isdesignated to tutor the fourth student, responsive to the indications ofthe levels of competence of the third and fourth students.
 21. A methodfor automatically producing a schedule of classes for an educationalinstitution having a plurality of teachers, a plurality of students, anda curriculum, the method comprising providing a computer algorithmadapted for: receiving, as an input into a computer system, designationsof a plurality of curriculum modules of the curriculum, each curriculummodule including educational material; receiving, as an input into thecomputer system, student information comprising, for one or more of theplurality of students, an indication of his level of competence withrespect to the educational material of one or more modules; receiving,as an input to the computer system, optimization parameters which areindicative of an educational focus of the educational institution;executing an optimization algorithm responsive to the studentinformation and the optimization parameters; and generating a scheduleof classes responsive to executing the optimization algorithm.
 22. Amethod according to claim 21, wherein receiving the optimizationparameters comprises receiving an indication of an amount of emphasis toplace, when generating the schedule, on assessments of prior success ofone of the teachers in teaching the educational material of one of themodules.
 23. A method according to claim 21, wherein receiving theoptimization parameters comprises receiving an indication of an amountof emphasis to place on continuity of a teacher-student relationshipover a plurality of separate modules.
 24. A method according to claim21, wherein executing the optimization algorithm comprises: generating alist of potential classes; assigning each student to a class in thelist; ranking the classes with respect to a utility function;eliminating one or more classes having a low utility; and reassigningstudents in the eliminated classes to other classes.